假设我有一个简单的函数。例如:
def if_a_float(string):
try:
float(string)
except ValueError:
return False
else:
return True
我应该将Raises: ValueError
语句包括在我的文档字符串中吗?还是应该避免它,因为代码中已经处理了错误?是否针对任何错误(捕获/未捕获(完成此操作?我知道这可能取决于风格,所以假设我使用的是Google Docstring风格(尽管我想这没那么重要(
您应该根据Google Style Guidelines(您自己提到的同一文档(记录明确提出的异常,以及可能与界面相关的异常。
这段代码不会显式引发异常(没有raise
(,也不需要提及您正在捕获异常。事实上,这段代码甚至不会意外地引发一个(您捕捉到的是唯一可能的行(,因此,如果您要记录if_a_float()
正在引发ValueError
,这将是一种误导。
您应该只记录调用方需要注意并且可能想要捕获的异常。如果函数本身捕获了异常,并且没有将其引发给调用方,那么调用方不需要知道这是一个内部实现细节,因此不需要对其进行记录。