try:
fr = open('kkk.txt', 'r')
except Exception as e:
print(e)
finally:
print('test end')
print('hello world')
aa = '666'
try:
print(aa)
# 当不知道是啥错误的时候,写 Exception 就好
except Exception as e:
print(e)
else:
print('test end')
fr_kk = open('testfile', 'r')
print('hello world')
Traceback (most recent call last):
[Errno 2] No such file or directory: 'kkk.txt'
test end
hello world
666
test end
File "C:/Users/rHotD/Documents/GitHub/ArticleSpider/error_test.py", line 21, in <module>
fr_kk = open('testfile', 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'testfile'
Process finished with exit code 1
捕捉异常可以使用try/except语句
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它。
try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。
如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。
如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。
try-finally 语句
try-finally 语句无论是否发生异常都将执行最后的代码。