最佳答案
在 Python 中用户定义函数的更好做法是: raise
是异常还是 return None
?例如,我有一个函数可以查找文件夹中最新的文件。
def latestpdf(folder):
# list the files and sort them
try:
latest = files[-1]
except IndexError:
# Folder is empty.
return None # One possibility
raise FileNotFoundError() # Alternative
else:
return somefunc(latest) # In my case, somefunc parses the filename
另一种选择是保留异常并在调用方代码中处理它,但我认为处理 FileNotFoundError
比处理 IndexError
更清楚。或者用不同的名称重新引发异常是不好的形式?