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
ます。それとも、別の名前で例外を再発生させるのは悪い形式ですか?