当抛出异常时,看起来好像立即停止了程序的执行。抛出异常之后的所有代码都不会执行,除非处理了这一异常,程序将会退出并给出错误信息。
def no_return():
print("I am about to raise an exception")
raise Exception("This is always raised")
print("This line will never execute")
return "I would not be reutrned"
no_return()
Traceback (most recent call last):
I am about to raise an exception
File "D:/untitled1/Book/venv/异常7.py", line 6, in <module>
no_return()
File "D:/untitled1/Book/venv/异常7.py", line 3, in no_return
raise Exception("This is always raised")
Exception: This is always raised
抛出异常会阻止函数栈中所有的执行
def c():
print("1")
no_return()
"调用异常函数"
print("2")
c()
1
Traceback (most recent call last):
I am about to raise an exception
File "D:/untitled1/Book/venv/异常7.py", line 12, in <module>
c()
File "D:/untitled1/Book/venv/异常7.py", line 9, in c
no_return()
File "D:/untitled1/Book/venv/异常7.py", line 3, in no_return
raise Exception("This is always raised")
Exception: This is always raised