原因 | 示例 |
---|---|
笔误 | 像变量名写错,造成的语法错误 |
逻辑错误 | 算法写错了,例如原本逻辑是求和,但写成了乘积 |
函数或者类使用错误 | 这类也归为逻辑错误 |
写代码时,错误是可以避免的。
健壮的代码要避免错误,捕获处理各种异常 。
主动抛出异常
raise 语句显式抛出异常,
捕获异常
try:
待捕获异常的代码块
except [异常类型]:
异常处理
示例代码
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
try:
res = num1/num2
except ZeroDivisionError as e:
print("除数不能为0:", e )
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
try:
res = num1/num2
except ZeroDivisionError as e:
print("除数不能为0:", e )
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
try:
res = num1/num2
except ZeroDivisionError as e:
print("除数不能为0:", e )
finally:
print("执行完毕")
finally 不管结果如何,最后都会执行
try:
pass
except Exception:
pass
else:
pass
finally:
pass
try:
pass
except Exception: #捕获异常处理
pass
else: #没有异常发生时执行
pass
finally: #退出try,最终一定会执行
pass
原文:https://www.cnblogs.com/luckyleaf/p/12690536.html