Как отследить сгенерированную ошибку в python3.7? - PullRequest
0 голосов
/ 05 июля 2019

У меня есть типичный сценарий, где у меня есть модуль, как показано ниже:

def fun2():
   #does something which can throw a ValueError exception

def fun3():
   #does something which can throw a ValueError exception

def fun1:
   fun2() #call to fun2
   fun3() #call to fun3

def fun0:
   try:
       fun1()
   except ValueError as e: 
       ##try to find out from which function ValueError Exception is thrown 
       print(customErrorMsg)

Как узнать, что в блоке исключений fun0 выдается ошибка из fun2 или fun3? Я пытался e.__traceback__, но это не дает полезного вывода. Строго говоря, я хочу печатать разные customErrorMsg, когда исключение выдается из fun2 или fun3.

1 Ответ

0 голосов
/ 05 июля 2019

Вы могли бы сделать это

def fun1:
    try:
        fun2() #call to fun2
    except ValueError as e:
        print(error_message)
    try:
        fun3() #call to fun3
    except ValueError as e:
        print(error_message)
...