Какая лучше практика в пользовательской функции в 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
. Или это плохая форма для повторного возбуждения исключения с другим именем?