python应用_异常处理
我们把可能发生错误的语句放在try模块里,用except来处理异常。
参考学习链接:
https://www.cnblogs.com/OliverQin/p/12222619.html
异常处理的完整语法:

实际应用--此处用在对Excel文件的判断中:
#coding=gbk
import os
import xlrd
current_path=os.path.dirname(__file__)
excel_path=os.path.join(current_path,'../testcase.xlsx')
def read_excel_date_convert_case_info(excel_path):
try:
all_case_info = []
workbook = xlrd.open_workbook(excel_path)
sheet = workbook.sheet_by_index(1) ##修改这个下标可触发下标越界
for i in range(1,sheet.nrows):
case_info = []
for j in range(0,sheet.ncols):
case_info.append(sheet.cell_value(i,j))
all_case_info.append(case_info)
return all_case_info
##异常按照从上至下的顺序执行
except FileNotFoundError as e:
print("文件未找到")
except IndexError as e:
print("下标越界")
except Exception as e: #继承Exception(异常父类),当不知道什么错误的时候弹出该错误
print("系统错误")
#顶层代码调试
if __name__ == '__main__':
current_path = os.path.dirname(__file__)
excel_path = os.path.join(current_path, '../testcase.xlsx') #修改这个文件路径触发文件未找到异常
cases=read_excel_date_convert_case_info(excel_path)
python应用_异常处理的更多相关文章
- Python基础_异常处理与跟踪
		
异常的种类 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常:基本上是无法打开文件 ImportError 无法引入模块或 ...
 - python学习_数据处理编程实例(二)
		
在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年 ...
 - python开发_++i,i += 1的区分
		
python开发_++i,i += 1的区分 在很多编程语言(C/C++,Java等)中我们都会碰到这样的语法: 1 int i = 0; 2 ++ i; // -- i; 这样的语法在上述编程语言中 ...
 - python练习_购物车(简版)
		
python练习_购物车(简版) 需求: 写一个python购物车可以输入用户初始化金额 可以打印商品,且用户输入编号,即可购买商品 购物时计算用户余额,是否可以购买物品 退出结算时打印购物小票 以下 ...
 - Python 基础之 异常处理
		
python 基础之异常处理 说到异常处理,就得先问一下,什么是异常处理? 先来看一下,什么是异常? 异常就是:程序运行时发出的错误的信号. 异常的种类先来看一下: 一.常见的异常 Attribut ...
 - Python基础---python中的异常处理
		
Python中的异常处理 一.什么是异常处理 python解释器检测到错误,触发异常(也允许程序员自己触发异常) 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关) ...
 - [Python Study Notes]异常处理
		
正则表达式 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理 断言(Assertions) python标准异常 ...
 - Python系列之 - 异常处理
		
python提供的异常处理 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常 ...
 - Python递归_打印节点信息
		
Python递归_打印节点信息 递归特性:1.必须由一个明确的结束条件2.每次进入更深一层递归时,问题规模相比上一次递归都应该有所减少3.递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用时 ...
 
随机推荐
- hdu4370 比较抽象的最短路
			
题意: 给你一个n*n的矩阵,然后让咱们构造另一个n*n的矩阵,构造的矩阵有如下要求, 1.X12+X13+...X1n=1. 2.X1n+X2n+...Xn-1n=1. 3.for ea ...
 - UVA11520填充正方形
			
题意: 给你一个n*n的矩阵,让你往里面添加大写字母,矩阵有的字母已经给填好了,然后要求是每个格子都不能与他相邻的格子的大写字母相同,如果有多个答案,输出从上到下,从左到右所连接的成的那个n ...
 - metasploit console 命令解释
			
折腾几天,总算是在虚拟机中安装好了4.2版本的metasploit,能够成功打开console,这里将metasploit console的指令用中文翻一下: 原文及翻译: back Move bac ...
 - Activity,Tasks
			
常见的一些Activity的打开方式: //1.拨打电话 // 给移动客服10086拨打电话 Uri uri = Uri.parse("tel:10086"); Intent in ...
 - 面向对象编程OOP
			
这节讲一下,什么是面向对象(Object Oriented Programming).说面向对象之前,我们不得不提的是面向过程(Process Oriented Programming),C语言就是面 ...
 - Java并发编程(二)如何保证线程同时/交替执行
			
第一篇文章中,我用如何保证线程顺序执行的例子作为Java并发系列的开胃菜.本篇我们依然不会有源码分析,而是用另外两个多线程的例子来引出Java.util.concurrent中的几个并发工具的用法. ...
 - Python数模笔记-(1)NetworkX 图的操作
			
1.NetworkX 图论与网络工具包 NetworkX 是基于 Python 语言的图论与复杂网络工具包,用于创建.操作和研究复杂网络的结构.动力学和功能. NetworkX 可以以标准和非标准的数 ...
 - 如何用Vim搭建IDE?
			
推荐:http://harttle.com/2015/07/18/vim-cpp.html 转自:http://harttle.com/2015/11/04/vim-ide.html 一年前我从Vim ...
 - ELK 在 MacOS( Big Sur) 上安装与配置步骤
			
ELK学习笔记 - 安装篇 目录 ELK学习笔记 - 安装篇 1. ElasticSearch 1.1 发展历史及现状 1.2 ElasticSearch 的安装 2. Logstash 2.1 Lo ...
 - [bug]Flask:KeyError: 'A secret key is required to use CSRF.'
			
参考 https://blog.csdn.net/huanglianggu/article/details/81263865