Python异常处理
一、 异常处理
用法一
| #!/usr/bin/env python3
try:
action()
except NameError as e:
print("错误信息:",e)
|
用法二
| #!/usr/bin/env python3
try:
action()
except NameError as e:
print("错误信息:",e)
except IndexError as e:
print("错误信息:",e)
|
用法三
| #!/usr/bin/env python3
try:
action()
except NameError as e:
print("错误信息:",e)
except (IndexError, KeyError) as e:
print("错误信息:",e)
|
用法四
| try:
action()
except Exception as e:
print("错误信息:",e)
else: # 如果主要执行的代码没有错误,就执行else中的内容
print("===")
|
用法五
| try:
action()
finally: # 不处理异常,无论是否发生异常都会执行finally的子代码
print("===")
|
二、 主动抛出异常
| try:
raise Exception('主动抛出的异常')
except Exception as e:
print(e)
|
三、自定义异常
| class myError(Exception):
""" 自定义异常"""
def __init__(self,msg):
self.message = msg
def __str__(self):
return self.message
try:
raise myError('自定义的异常')
except Exception as e:
print(e)
|
四、断言 assert
使用格式:assert 条件
条件成立继续执行
用于强制用户服从条件,否则报错,可以捕获,但一般不捕获