Python中错误处理Try Catch的规范
参考资料:
GPT的回答
错误处理是每一个编程语言中都必不可少的一部分,而在Python中使用的语言规范正是try except代码块。别看使用上非常简单,能够规范的用上它,并且很好地处理错误、抛出错误也不是一件容易的事情。下面简单讲解一下python种try except的使用规范:
1. 什么时候应该用try except?
众所周知一个Python程序报错之后,它会立刻停止运行。停止运行的原因就是程序在运行到某个有bug的代码行时发现了一个error,并且将这个error抛出了,在抛出这个错误的同时,程序会打印该错误的调用栈,方便程序员进行debug。在大多数的时候,这个流程完全不需要错误处理的参与,但是在一些错误频发的场景下,比如网络通信,一个代码想要长久地运行下去并不因为一个正常的错误终止(没错此时有错误也是正常的),此时就需要错误处理代码。读者可以用raise语句抛出一个RuntimeError玩一玩。
2. try except长什么样?
try except代码块的设计十分优雅:
try: somefunction() except fooerror as e1: handlefoo() except barerror as e2: handlebar() except: handleother() else: success() finally: cleanup()
即在运行的时候遇到各种类型的错误,见招拆招就好了。如果没有遇到任何问题,可以增加一个可选的else块,进行运行成功时的补充处理,如果希望无论成功与否都进行的一些操作,则可以使用finally块。
3. 捉到error之后应该做什么?
逮到error之后一般是需要处理的,比如把传输失败的图片滤掉,把read_success flag置为0等等。最通常的做法就是把错误信息和调用栈给打印出来,方便debug和确认运行状态正常:
import traceback try: somefunction() except Exception as e: print(e) traceback.print_exc()
需要注意一个比较逆天的点,如果你的try catch捕捉了所有类型的error,那么它其实还会捕捉你的ctrl + C,即keyboardinterupt,此时你这个程序就只能用kill来终止了。因此要么只捕捉特定类型的error,要么加一个处理键盘中断的语句。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2022-09-14 VScode工作区过大时Python插件失效,无法跳转