引言
众所周知,在python中我们用try…except…来捕获异常,使用raise来抛出异常,但是多重的try…except…是如何使用的呢
前提
抛出异常
当调用raise
进行抛出错误的时候,抛出错误的后面的代码不执行
def func(): print("hello") raise Exception("出现了错误") print("world") func()
打印的错误堆栈
如果抓取错误,就相当于if...else
,并不会打断代码的执行
def func(): try: print("hello") raise Exception("出现了错误") except Exception as why: print(why) print("world") func()
自定义异常
自定义异常需要我们继承异常的类,包括一些框架中的异常的类,我们自定义异常的话都需要继承他们
class MyError(Exception): pass def say_hello(str): if str != "hello": raise MyError("