Python中的异常处理

什么是异常
Error(错误):是系统中的错误,程序员是不能改变和处理的,如系统崩溃,内存空间不足,方法调用栈溢等。遇到这样的错误建议让程序终止
Exception(异常):表示程序可以处理的异常,可以捕获并且恢复,遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不是应该随意终止程序
常见的异常
IndentatioEerror:缩进错误
Keyboardlnterrupt:Ctrl+C被按下
UnboundLocalError:有同名的全局变量
异常处理机制
Pythob的异常机制主要依赖try,except,else,finally,raise五个关键字
try关键字后缩进的代码简称try块,它里面放置的是可能引发异常的代码
except关键字对应异常类型和处理该异常的代码块
多个except块之后可以放一个else块,表明程序不出现异常还要执行else块
finally块用于回收在try块里打开的物理资源,异常机制会保证finally块总会被执行
raise用于引发一个实际的异常,raise可以单独作为语句使用,引发一个具体的异常对象
实例:
当try出现异常:
Python中的异常处理
当try块未出现异常
Python中的异常处理
raise抛出异常:
Python中的异常处理
触发异常
Python允许程序自行引发异常,自行引发异常使用raise语句来完成
raise语句中Exception是异常类型,Exception几乎可以捕获所有的异常类型
异常处理和抛出异常
异常处理是掩盖错误
抛出异常是没事找事
Python异常使用规范
不要过度使用异常
不要使用过一庞大的try块
不要忽略捕获到的异常