У меня есть различные методы проверки ошибок, и в основном это проверка значений или типов, и я хочу дать пользователю возможность исправить это, чтобы они не теряли кучу информации о том, что делает программа.Как мне получить метод, в котором было создано мое исключение?
На данный момент, я просто это:
def foo(Option1, Option2):
if Option1 >= 0 and Option <= 100 :
continue
else:
e = ('Hey this thing doesn\'t work')
raise ValueError(e)
а затем в программе, которая зовет его, у меня есть
except ValueError as e:
print(e)
Я хочу передать, какой метод был проблемой, так что я могу дать пользователю возможность повторить попытку, например, с подсказкой или чем-то еще после того, где будет напечатан (e). Есть идеи?
Edit:
В основном я хотел бы мой, кроме кода выглядеть как этого
except ValueError as e:
# print the error
# get what method the error was raised in
# method = the_method_from_above
# prompt user for new value
# send command to the method using the new value
Спасибо! Я на самом деле заработал это время между этим ответом и последним, хотя на самом деле это довольно близко. – Funkyguy
Неохотно upvoting. Это красота Python, но вы действительно не должны использовать это в подходе в любом серьезном проекте. – Krumelur