在 python 文档字符串中记录其他函数中可能发生的异常



在 Python 中,我们是否应该在文档字符串中记录除了当前函数/方法主体中提出的函数/类之外可以在其他函数/类中引发的异常?

Obs.:我正在考虑谷歌Python文档字符串风格的 https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html

我已经很久没有玩Java了,但是在那里你会明确地说出你的方法可能会用"throws"关键字引发什么样的异常。

例如:

class MyException(Exception):
pass
class A(object):
def foo(self):
"""This class does foo
Returns:
Int: The number of foo.
Raises:
MyException - In case something happen
"""
if True:
raise MyException
return 0
class B(object):
def __init__(self):
self._a = A()
def bar(self):
"""This class does bar
Returns:
Int: number of bar
Raises:
MyException ????? Should this be here?
"""
return self._a.foo()

是的,您应该记录bar()(和foo()(可以引发MyException。这样,对于任何即将使用bar()的人来说,调用它时可能发生的异常都是显而易见的。

相关内容

  • 没有找到相关文章

最新更新