Да, вы можете сделать это со следующим синтаксисом:
def function():
try:
#something
except Exception as e:
return e
Во внешнем коде, где вы вызываете функцию, вам не нужно иметь try, except
, потому что функция возврат и Exception
не повышение это. Вместо этого вы можете проверить, является ли возвращаемое значение функции экземпляром Exception
, например:
result = function()
if isinstance(result, Exception):
#handle error
else:
#do whatever you want with result
В качестве альтернативы, вы можете просто позволить функции вызвать ошибку, если она возникает, и затем обработать ее. в вашем коде вызова, а не возвращать ошибку, например:
def function():
#do whatever error-prone code
try:
result = function()
#do whatever you want with result
except Exception as e:
#handle error