在 Python 中混合自定义和内置异常?[关闭]

Mixing custom and built in exceptions in Python? [closed]

提问人:opnightfall1771 提问时间:11/16/2023 更新时间:11/16/2023 访问量:20

问:


想改进这个问题吗?更新问题,以便可以通过编辑这篇文章用事实和引文来回答。

4天前关闭。

我有一个关于在我的 Python 代码中使用自定义异常的最佳实践的问题。

我有一个带有如下方法的类:

from pathlib import Path

def load_file(filepath):
    path = Path(filepath)
    if not path.exists():
        raise FileNotFoundError(...)
    loaded = ... # logic to load file here
    if not loaded:
        raise MyCustomException(...)

在此方法中,我同时使用内置的 FileNotFoundError 和特定于我的应用程序的自定义异常,该异常派生自一些基本的自定义异常,例如 .MyCustomException(MyBaseException)

我的问题是关于这种情况的最佳实践。一方面,使用内置的 FileNotFoundError 是有意义的,因为这正是这种情况。另一方面,在我的代码中仅使用自定义异常将允许其他人只捕获通用类并在需要时处理此方法中的所有错误。例如,我可以定义另一个自定义异常,并使用它而不是内置异常。这里最好的方法是什么?MyBaseExceptionMyFileNotFoundError(MyBaseException)

Python 异常 错误处理

评论


答: 暂无答案