最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

【新要闻】Python中的异常处理总结

来源:博客园

1.异常分类

错误Error:


【资料图】

原因示例
笔误像变量名写错,造成的语法错误
逻辑错误算法写错了,例如原本逻辑是求和,但写成了乘积
函数或者类使用错误这类也归为逻辑错误

写代码时,错误是可以避免的。

异常Exception

有时候程序写的没有问题,也没有语法错误,但在某些情况下依然出现一些意外,导致程序无法正常执行,就是通常所说的异常。

例如open函数操作一个文件,但该文件不存在,这就是一个异常。

异常不可能全部避免的。

2.健壮的代码

健壮的代码要避免错误,捕获处理各种异常 。

主动抛出异常

  • raise 语句显式抛出异常,

捕获异常

try:待捕获异常的代码块except [异常类型]:异常处理

示例代码

num1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第二个整数:"))try:res = num1/num2except ZeroDivisionError as e:print("除数不能为0:", e )

3.捕获异常:

(1.try ... except..

num1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第二个整数:"))try:res = num1/num2except ZeroDivisionError as e:print("除数不能为0:", e )

(2.try..except...finally...

#Python学习交流QQ群:711312441num1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第二个整数:"))try:res = num1/num2except ZeroDivisionError as e:print("除数不能为0:", e )finally:print("执行完毕")

finally 不管结果如何,最后都会执行

(3.else子句 较少使用

try语句中的else,当try语句没有异常捕获时,执行else语句

try:    passexcept Exception:    passelse:    passfinally:    pass

总结:

try:    passexcept Exception: #捕获异常处理    passelse:  #没有异常发生时执行    passfinally: #退出try,最终一定会执行    pass

关键词: 捕获异常 异常处理 抛出异常