捕获指定异常

捕获指定异常

捕获“指定异常类型”的关键在于:只处理你确实知道如何恢复或替代的错误,把其他错误留给上层或直接暴露出来,便于定位问题。

语法

try:
	可能发生错误的代码
except 异常类型:
	如果捕获到该异常类型执行的代码

体验

try:
	print(num)
except NameError:
	print('有错误')

注意:如果尝试执行代码的异常类型和要捕获的异常类型不一致,则无法捕获异常;一般try下方只放一行尝试执行的代码。

常见写法:获取异常详情

try:
    int("abc")
except ValueError as e:
    str(e)

捕获顺序

当你需要捕获多个异常类型时,建议先写更具体的异常,再写更泛化的异常(见 捕获多个指定异常 / 捕获所有异常)。