您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中捕获所有异常的好主意

在Python中捕获所有异常的好主意

因为它非常不明确,并且无法使您对异常做任何有趣的事情。而且,如果您捕获了每个异常,则可能会发生很多甚至不知道正在发生的异常(这可能导致您的应用程序失败,而您实际上并不知道为什么)。您应该能够(通过阅读文档或进行实验)特别地预测需要处理哪些异常以及如何处理它们,但是如果您从一开始就盲目地抑制所有这些异常,您将一无所知。

因此,应大家的要求,这里有个例子。程序员正在编写Python代码,她得到了一个IOError。她决定不进行进一步调查,而是决定捕获所有异常:

def foo():
    try:
        f = open("file.txt")
        lines = f.readlines()
        return lines[0]
    except:
        return None

她没有用他的方式意识到问题:如果文件存在并且可以访问,但文件为空怎么办?然后此代码将引发一个IndexError(因为列表lines为空)。因此,她将花费数小时来思考为什么None文件存在时为什么要从该函数中恢复,并且如果没有更明确地捕获错误(如果她正在访问可能不存在的数据)而没有意识到这一点,那么就不会意识到这一点。 。

python 2022/1/1 18:41:00 有424人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶