前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中的异常处理总结

Python中的异常处理总结

原创
作者头像
Python学习者
发布2023-01-10 16:39:48
1.1K0
发布2023-01-10 16:39:48
举报
文章被收录于专栏:Python学习者Python学习者

1.异常分类

错误Error:

原因

示例

笔误

像变量名写错,造成的语法错误

逻辑错误

算法写错了,例如原本逻辑是求和,但写成了乘积

函数或者类使用错误

这类也归为逻辑错误

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

异常Exception

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

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

异常不可能全部避免的。

2.健壮的代码

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

主动抛出异常

  • raise 语句显式抛出异常,

捕获异常

代码语言:python
复制
try:
待捕获异常的代码块
except [异常类型]:
异常处理

示例代码

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

3.捕获异常:

(1.try ... except..
代码语言:python
复制
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
try:
	res = num1/num2
except ZeroDivisionError as e:
	print("除数不能为0:", e )
(2.try..except...finally...
代码语言:python
复制
#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语句

代码语言:python
复制
try:
    pass
except Exception:
    pass
else:
    pass
finally:
    pass

总结:

代码语言:python
复制
try:
    pass
except Exception: #捕获异常处理
    pass
else:  #没有异常发生时执行
    pass
finally: #退出try,最终一定会执行
    pass

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.异常分类
  • 2.健壮的代码
  • 3.捕获异常:
    • (1.try ... except..
      • (2.try..except...finally...
        • (3.else子句 较少使用
        • 总结:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档