异常处理
捕捉异常可以使用try/except语句。 try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。 如果你不想在异常发生时结束你的程序,只需在try里捕获它。
语法: 以下为简单的try…except…else的语法:
# 异常演示
f = open("lihua.txt", 'r')
演示效果
try:
可能发生错误的代码
except:
如果出现异常执行的代码
代码演示
try:
f = open('lihua.txt', 'r')
except:
f = open('lihua.txt', 'w')
运行结果 可以看出来当发生错误的时候,运行了except中的内容,然后创建了一个新的txt。
演示代码
try:
print(name)
except NameError as e:
print('name变量名称未定义错误')
注意事项 ① 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常。 ② 一般try下方只放一行尝试执行的代码。
演示代码
try:
print(1/0)
except (NameError, ZeroDivisionError):
print('ZeroDivision错误...')
运行结果 在这个结果中,我们可以看出来,这个除以0的错误被捕获了。
基本语法
try:
print(num)
except (NameError, ZeroDivisionError) as e:
print(e)
运行结果 这里打印出来了,错误的信息,但是没有报错,错误信息就是num没有被定义。
try:
print(name)
except Exception as e:
print(e)
运行结果 Exception可以捕获所有的异常。1
try:
print(1)
except Exception as e:
print(e)
else:
print('我是else,是没有异常的时候执行的代码')
运行结果 可以看出来,else里面是运行没有异常的时候的结果。
try:
f = open('test.txt', 'r')
except Exception as e:
f = open('test.txt', 'w')
else:
print('没有异常,真开心')
finally:
f.close()
运行结果 这里可以看出来,创建了一个新的文本文件,然后最后也把这个给关闭了。