Python中的异常处理总结

举报
python教程 发表于 2023/01/10 16:40:31 2023/01/10
【摘要】 1.异常分类错误Error:原因示例笔误像变量名写错,造成的语法错误逻辑错误算法写错了,例如原本逻辑是求和,但写成了乘积函数或者类使用错误这类也归为逻辑错误写代码时,错误是可以避免的。异常Exception有时候程序写的没有问题,也没有语法错误,但在某些情况下依然出现一些意外,导致程序无法正常执行,就是通常所说的异常。例如open函数操作一个文件,但该文件不存在,这就是一个异常。异常不可能...

1.异常分类

错误Error:

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

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

异常Exception

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

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

异常不可能全部避免的。

2.健壮的代码

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

主动抛出异常

  • raise 语句显式抛出异常,

捕获异常

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

示例代码

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

3.捕获异常:

(1.try … except…

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

(2.try…except…finally…

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

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

(3.else子句 较少使用

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

try:
    pass
except Exception:
    pass
else:
    pass
finally:
    pass

总结:

try:
    pass
except Exception: #捕获异常处理
    pass
else:  #没有异常发生时执行
    pass
finally: #退出try,最终一定会执行
    pass
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。