一、检测和处理异常
使用的是
try:
可能产生异常的代码
except (异常1,异常2,异常3),e1,e2:#注意必须是使用()括起来
处理异常
else:
是当try中被完全执行,也就是在没有发生异常的情况下才会执行的
finally:
不管在任何情况下总是会执行的。
二、可能出现的有哪些异常(常见的)
NameError:尝试访问一个未声明的变量
ZeroDivisionError:除零异常
SyntaxError:语法解释器异常
KeyError:请求一个不存在的关键字(常在字典中)
IOError:输入输出错误
TypeError:类型错误
ImportError:导入模块/对象失败
ValueError:传入无效的参数
三、所有常见的异常的父类:Exception
四、另一种获取异常的途径:
通过sys模块中的exc_info()函数。此功能提高一个3元组:
exc_type:异常类
exc_value:异常类的实例:
exc_traceback:跟踪记录 对象
例如:try:
float(123abc)
except:
import sys
exc_tuple=
sys.exc_info()
五、自定义异常类
只需要继承了你想要继承的异常类,然后就可以通过raise 抛出异常
例如:
class myerror(Exception):#自动以异常
pass#什么都不做
在当遇到某种情况要抛出异常的时候可以使用raise myerror;当然raise也可以抛出异常元组,也就是多个。也可以带有参数