标签:NPU 一个 通过 代码 异常处理 运行时 不能 解释器 没有
程序在运行时,如果 Pyhon解释器 遇到一个错误,会停止程序的执行,并且提示一些错误,这就是异常。
程序开发时,很难将所有的特殊情况都处理的面面俱到,通过异常捕获可以针对突发事情做集中的处理,从而保证程序的稳定性和健壮性
根据捕获的不同异常,分别对异常进行处理,如果异常不在except预期的异常范围类,则同样会抛出异常
while True: try: num = int(input("请输入数字:")) result = 10/num print(F"result结果为:{result}") break except ValueError: # 处理非int类型错误 print("请输入整数") except ZeroDivisionError: # 处理除数为0的错误 print("输入的数字不能为0")
输出结果:
请输入数字:a 请输入整数 请输入数字:0 输入的数字不能为0 请输入数字:10 result结果为:1.0
在开发时,要预判到所有可能出现的错误,还是有一定难度的。如果希望程序无论出现任何错误,
都不会因为python解释器抛出异常而被终止,可以再增加一个捕获未知错误的except。
# 假如只捕获到ValueError while True: try: num = int(input("请输入数字:")) result = 10/num print(F"result结果为:{result}") break except ValueError: # 处理非int类型错误 print("请输入整数") except Exception as e: # 处理未知错误,防止解释器抛出异常而被终止运行 print(F"未知错误:{e}")
输出结果:
请输入数字:a 请输入整数 请输入数字:0 未知错误:division by zero 请输入数字:1 result结果为:10.0
try: # 尝试执行的代码 pass except 错误类型1: # 针对错误类型1,对应的处理代码 print("针对错误类型1,对应的处理代码") except 错误类型2: # 针对错误类型2,对应的处理代码 print("针对错误类型2,对应的处理代码") except Exception as e: # 针对未知错误类型,对应的处理代码 print(F"未知错误:{e}") else: # 没有异常才会执行的代码 print("没有异常才会执行的代码") finally: # 无论是否有异常,都会执行的代码 print("无论是否有异常,都会执行的代码")
标签:NPU 一个 通过 代码 异常处理 运行时 不能 解释器 没有
原文地址:https://www.cnblogs.com/testlearn/p/11751706.html