在Python中异常通常可以用于各种用途,下面是最常见的几种。
<1>错误处理
每当运行时检测到错误,Python的默认异常处理行为将启动(停止程序,打印错误信息)。如果不想启动这种默认
行为,就要写try语句捕捉异常并从异常中恢复。当检测到错误是,Python会跳到try处理器,程序在try之后会接着
继续运行。
<2>事件通知
发出有效状态的信号
<3>特殊情况处理
很难调整代码去处理的问题
<4>终止行为
<5>非常规流程控制
异常是一种高级的“goto”
捕获异常
try: List[99]=0 #越界数组 except IndexError: print "index error" print "end"
结果:
index error
end
出现特定的异常会自动跳到except后执行处理,之后接着继续运行。
引发异常
try: raise IndexError except IndexError: print"index error"
如果没有捕捉到异常,用户定义的异常就会触发,传给异常处理器。
用户自定义异常。它继承自一个内置的异常类Exception。
class Bad(Exception) pass def doomed(): raise Bad() try: doomed() except Bad: print"got Bad"
终止行为
try: 代码1 finally: 代码2
同except的区别就是无论代码1是否发生异常,代码2都会执行
参考<<learning python>>