异常处理:
捕捉Python异常可以使用try/except语句。try/except语句用来检测try语句中的错误,从而让except语句捕获异常信息并处理。如果你不想在出现异常时中断你的程序,就在try里捕获它。
try/except流程:
先执行try子句
如果没有异常发生,忽略except子句,try子句执行后结束。
如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。
如果异常的类型和 except 之后的名称相符,那么对应的except子句将被执行。最后执行 try 语句之后的代码。
如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。
一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
except中可以处理多种异常,将所有异常都放在括号里成为一个元组。
异常语法:
try:
运行代码
except(名称) :
处理一种名称异常
except(名称,名称,...) :
处理多种名称异常
except(名称) ,(数据):
处理一种名称异常 ,并且获得附加的数据except(名称,名称,...),(数据):
处理多种名称异常,并且获得附加的数据
else:
没有异常发生,走else
示例:
class Aex(Exception):
def __str__(self):
return "Aex"
class Bex(Exception):
def __str__(self):
return "Bex"
class Cex(Exception):
def __str__(self):
return "Cex"
n = int(input("请输入整数:"))
try:
if n == 1:
raise Aex()
if n == 2:
raise Bex()
if n == 3:
raise Cex()
print("else")
except(Aex,Bex,Cex) as e:
print(e)
-------------------------------------------------------------
控制台:
请输入整数:1
Aex请输入整数:2
Bex
请输入整数:3
Cex
请输入整数:4
else
except(名称) :
try中发生的异常与except名称一致的异常
Aex