在Python里面可以使用try/except/finally语句来捕捉程序运行时产生的例外!
try语句块用来包含可能产生异常的代码块,若是产生异常则try块内的内容不执行,except块里的代码开始执行。若try块一切正常,则不执行except块里代码。但最终,不管try正常与否,finally块的内容都会无条件的执行。
try:
print(7/0)
except ZeroDivisionError:
print("error by zero")
finally:
print("this code will run")
当然,与if-elif-else类似,使用try语句可以拥有多个except定义语句来处理异常,而多个异常也可以使用一个except块来捕捉。
try:
maybey = 8
print(maybey/2)
print (maybey+'i can')
except ZeroDivisionError:
print("Divided by zero")
except(ValueError,TypeError):
print('error')
finally:
print("this code will not run")
值得注意的是,当except中没有声明要捕捉的意外,它将捕捉所有的意外。但是,这种方式会把编程错误隐藏,但一般在处理用户输入的时候使用。
认识finally。
两个例子:
第一个:
try:
print(1)
except:
print(2)
finally:
print(3)
第二个:
try:
print(1/0)
except:
print(2)
finally:
print(3)
异常也可以自己声明抛出异常名称:
try: 、
print(1/0)
except ZeroDivisionError:
raise ValueError("分母为0,语法错误")
finally:
print(3)
也可以不用声明异常的名称就可以重新抛出捕捉到的异常:
try:
print(1/0)
except ZeroDivisionError:
#print("分母为0,语法错误")
raise
finally:
print(3)
标题:异常处理
作者:chenruhai
地址:http://www.love520.ltd/articles/2019/08/02/1564753084596.html
CSDN博客地址:https://blog.csdn.net/qq_42658739
GitHub地址:https://github.com/chenruhai