异常Error
我们在写代码的时候,经常会遇见程序抛出Error⽆法执⾏的情况
⼀般情况下,在Python⽆法正常处理程序时就会发⽣⼀个异常。异常是Python对象,表⽰⼀个错误。当Python脚本发⽣异常时我们需要捕获处理它,否则程序会终⽌执⾏。
try...except...else
try:
正常的操作 ......................except:
发⽣异常,执⾏这块代码 ......................else:
如果没有异常执⾏这块代码
except后可写⼊⼀个固定的错误名称 如写 except IOError 并且我们可以写多个except语句
try...except...finally
我们还可以使⽤try...except...finally...的错误处理机制
try...except...finally...与try...except...else区别是 ⽆论有没有错误 finally语句都会执⾏例如:
try:
print('try...') r = 10 / 0
print('result:', r)
except ZeroDivisionError as e: print('except:', e)finally:
print('finally...')print('END')
当我们认为某些代码可能会出错时,就可以⽤try来运⾏这段代码,如果执⾏出错,则后续代码不会继续执⾏,⽽是直接跳转⾄错误处理代码,即except语句块,执⾏except语句块,如果有finally语句块,也会执⾏finally语句块,
即使捕捉到错误,仍然会执⾏finally语句块,可以认为finally语句块优先级⾼于except语句块。如下:def func1(): try:
return 1 finally: return 2
def func2(): try:
raise ValueError() except: return 1 finally: return 3print(func1())print(func2())
程序打印结果是 2和3 ,即使func2⾥有return 1 ,但是仍然执⾏return 3 ,实际应⽤中,并不推荐在finally中使⽤return返回。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务