Python笔记:错误处理

Python与其他大部分语言一样内置了错误处理的机制,使用tryexceptfinally一套来处理程序抛出的错误;

处理错误

当我们预测某些代码可能会出错时,就使用这样的代码来处理:

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,若无特殊说明本站内容为 行星带 原创,未经同意禁止转载。

Scroll to top