您好,欢迎访问一九零五行业门户网

浅谈python抛出异常、自定义异常, 传递异常

一. 抛出异常
python用异常对象(exception object)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(traceback,一种错误信息)终止执行。
raise 语句
python中的raise 关键字用于引发一个异常,基本上和c#和java中的throw关键字相同,如下所示:
import tracebackdef throw_error(): raise exception(抛出一个异常)#异常被抛出,print函数无法执行 print(飞天猪) throw_error()
#运行结果:
'''traceback (most recent call last): file c:\users\administrator\desktop\systray.py, line 7, in throw_error() file c:\users\administrator\desktop\systray.py, line 4, in throw_error raise exception(抛出一个异常)#异常被抛出,print函数无法执行exception: 抛出一个异常'''
raise关键字后面是抛出是一个通用的异常类型(exception),一般来说抛出的异常越详细越好
二.传递异常:
捕捉到了异常,但是又想重新引发它(传递异常),可以使用不带参数的raise语句即可:
class mufcalc(object): m = false def calc(self,exp): try: return eval(exp) except zerodivisionerror: if self.m: print(cool) else: raiseapp = mufcalc()app.calc(2/0)
三.自定义异常类型:
python中也可以自定义自己的特殊类型的异常,只需要要从exception类继承(直接或间接)即可:
class myerror(exception): pass
其它类似信息

推荐信息