Python与其他大部分语言一样内置了错误处理的机制,使用try
,except
,finally
一套来处理程序抛出的错误;
处理错误
当我们预测某些代码可能会出错时,就使用这样的代码来处理:
try:
print('try...')
r = 10 / 0
print('result:', r)
except ZeroDivisionError as e:
print('except:', e)
finally:
print('finally...')
print('END')
这里的ZeroDivisionError
是一个错误类,还可以使用多个except
来捕捉不同的错误,比如:
try:
r = 10 / int('a')
print('result:', r)
except ValueError as e:
print('ValueError:', e)
except ZeroDivisionError as e:
print('ZeroDivisionError:', e)
finally:
print('finally...')
print('END')
raise抛出错误
如果也可以使用raise
主动抛出错误,以便外层代码去捕捉并处理错误。raise
语句如果不带参数,就会把当前错误原样抛出。
def foo(s):
n = int(s)
if n==0:
raise ValueError('invalid value: %s' % s)
return 10 / n
def bar():
try:
foo('0')
except ValueError as e:
print('ValueError!')
raise
bar()
Python笔记:错误处理
原文链接:https://beltxman.com/3193.html,若无特殊说明本站内容为 行星带 原创,未经同意禁止转载。