异常:try,except,finally,as,else,raise
异常是一个对象,表示错误。
发生异常后要捕获并处理,否则程序将停止运行。
……
try:
可能发生异常的语句
except:
捕获到异常后的语句
finally:
不管是否捕获到异常,都会执行的语句
……
一个try可以对应多个except子句。
要是在一个except里处理多个异常,则要求将多个异常放入元组里
except:--捕获所有异常
except 异常名 :--捕获指定异常
except (异常名1,异常名2)--捕获异常1或者异常2
except 异常名 as 数据:--捕获指定的异常,及其附加的数据
except (异常名1,异常名2) as 数据:--捕获异常1或者异常2,及其附加的数据
raise 异常名
raise 异常名,附加数据
raise 类名
关键字 关键字说明
raise 抛出/引发异常
try/except 捕获异常并处理
pass 忽略异常
as 定义异常实例
finally 无论是否出现异常,都执行的代码
else 如果try中的语句没有引发异常,则执行else中的语句
定义一个异常:
def mye( level ):
if level < 1:
raise Exception("Invalid level!")
# 触发异常后,后面的代码就不会再执行
try:
mye(0) # 触发异常
except Exception as err:
print(1,err)
else:
print(2)