Python 异常处理过程图解
概述
异常处理是编写高可靠性程序的关键技能。当发生异常时,程序不会终止,而是跳转到相应的异常处理代码块。Python 中的异常处理包括 try、except、else 和 finally 四个关键字。错误类型需要与 Exception 类或其子类相匹配。
异常处理过程图解
异常处理流程如下:
- 程序运行,尝试执行 try 代码块的语句。
- 如果 try 代码块执行成功,则跳过 except 代码块,执行后续代码。
- 如果 try 代码块执行失败,程序会匹配 except 代码块中的错误类型。
- 如果错误类型匹配,执行对应的 except 代码块中的语句,并跳过后续 except 代码块与 finally 代码块。
- 如果错误类型不匹配,程序会查找下一个 except 代码块并尝试匹配错误类型,如果都无法匹配,则抛出异常,导致程序终止。
- 如果 try 或 except 代码块中存在 finally 代码块,该块中的语句一定会被执行。
以下代码演示了异常处理过程:
try:
num = int(input("输入一个整数:"))
result = 100 / num
print("100 / {} = {}".format(num, result))
except ValueError:
print("输入的不是一个整数")
except ZeroDivisionError:
print("输入了零")
else:
print("程序执行成功!")
finally:
print("不管程序是否执行成功都会执行的代码")
执行过程:
- 用户输入一个整数,若输入正确,则进入 try 代码块。
- 用用户输入的整数计算 100/num,若计算成功,则执行 else 代码块,输出“程序执行成功!”。
- 无论是否计算成功,都会进入 finally 代码块,输出“不管程序是否执行成功都会执行的代码”。
以下代码演示了错误类型不匹配时的异常处理过程:
try:
num = int(input("输入一个整数:"))
result = 100 / num
print("100 / {} = {}".format(num, result))
except ValueError:
print("输入的不是一个整数")
except TypeError:
print("发生了类型错误")
else:
print("程序执行成功!")
finally:
print("不管程序是否执行成功都会执行的代码")
执行过程:
- 用户输入一个整数,若输入正确,则进入 try 代码块。
- 用用户输入的整数计算 100/num,若计算成功,则执行 else 代码块,输出“程序执行成功!”。
- 无论是否计算成功,都会进入 finally 代码块,输出“不管程序是否执行成功都会执行的代码”。
- 因为错误类型不匹配,所以程序会抛出异常,导致程序终止。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 异常处理Ⅳ过程图解 - Python技术站