Python中的异常处理总结

张春  金牌会员 | 2023-1-10 20:34:17 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 893|帖子 893|积分 2679

1.异常分类

错误Error:
原因示例笔误像变量名写错,造成的语法错误逻辑错误算法写错了,例如原本逻辑是求和,但写成了乘积函数或者类使用错误这类也归为逻辑错误写代码时,错误是可以避免的。
异常Exception
有时候程序写的没有问题,也没有语法错误,但在某些情况下依然出现一些意外,导致程序无法正常执行,就是通常所说的异常。
例如open函数操作一个文件,但该文件不存在,这就是一个异常。
异常不可能全部避免的。
2.健壮的代码

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

  • raise 语句显式抛出异常,
捕获异常
  1. try:
  2. 待捕获异常的代码块
  3. except [异常类型]:
  4. 异常处理
复制代码
示例代码
  1. num1 = int(input("请输入第一个整数:"))
  2. num2 = int(input("请输入第二个整数:"))
  3. try:
  4.         res = num1/num2
  5. except ZeroDivisionError as e:
  6.         print("除数不能为0:", e )
复制代码
3.捕获异常:

(1.try ... except..
  1. num1 = int(input("请输入第一个整数:"))
  2. num2 = int(input("请输入第二个整数:"))
  3. try:
  4.         res = num1/num2
  5. except ZeroDivisionError as e:
  6.         print("除数不能为0:", e )
复制代码
(2.try..except...finally...
  1. #Python学习交流QQ群:711312441num1 = int(input("请输入第一个整数:"))
  2. num2 = int(input("请输入第二个整数:"))
  3. try:
  4.         res = num1/num2
  5. except ZeroDivisionError as e:
  6.         print("除数不能为0:", e )finally:        print("执行完毕")
复制代码
finally 不管结果如何,最后都会执行
(3.else子句 较少使用

try语句中的else,当try语句没有异常捕获时,执行else语句
  1. try:
  2.     pass
  3. except Exception:
  4.     pass
  5. else:
  6.     pass
  7. finally:
  8.     pass
复制代码
总结:
  1. try:
  2.     pass
  3. except Exception: #捕获异常处理
  4.     pass
  5. else:  #没有异常发生时执行
  6.     pass
  7. finally: #退出try,最终一定会执行
  8.     pass
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表