Python:在API中引发异常的最佳实践

2024-03-29 08:34:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写的某个模块AbcStore,其中我必须引发几个异常,例如TypeError, AttributeError, os.error, NotImplementedError

# example 1
if key == 'abcd':
   raise NotImplmentedError

# example 2
os.remove(path)

在以上两种情况下,首先,我引发NotImplementedError,第二种情况自动引发内置错误os.error或{}等(取决于情况)。在

从模块/API用户的角度来看,他们甚至不知道这个os.remove发生在哪里,也不明白!做这样的事好吗

^{pr2}$

或者直接引发所有的默认异常!它可能真的很难跟踪API可能引起的所有错误!在

如何处理这种情况?在


Tags: 模块keyapiifosexample错误情况