python之异常处理
在程序中由于编码不规范,导致程序无法正常执行,此时就会报错。
异常处理机制
try:
可能出现异常的代码
except Exception as e:#Exception是父类
print(e)
出现异常执行
else:
没有出现异常执行
finally:
无论是否出现异常都会执行
所有的异常类都是从Exception继承,且都在exceptions模块中定义。
raise()
手动抛出异常:raise(),手动抛出的异常并不会导致程序崩溃
语法格式:raise [exceptionName [(reason)]]
用 [] 括起来的为可选参数,其作用是指定抛出的异常名称,以及异常信息的相关描述。如果可选参数全部省略,则 raise 会把当前错误原样抛出;如果仅省略 (reason),则在抛出异常时,将不附带任何的异常描述信息。
总结:
raise 语句有如下三种常用的用法:
- raise:单独一个 raise。该语句引发当前上下文中捕获的异常(比如在 except 块中),或默认引发 RuntimeError异常。
- raise 异常类名称:raise 后带一个异常类名称,表示引发执行类型的异常。
- raise 异常类名称(描述信息):在引发指定类型的异常的同时,附带异常的描述信息