Bekkazy
@Bekkazy

Как отловить ошибку из другого файла и получить метод и строку ошибки?

У меня есть файлы:
main.py
test_module.py

main.py:
import sys, os
import test_module
try:
    test_module.test_method_1()
except Exception as err:
    exc_type, exc_obj, exc_tb = sys.exc_info()
    fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
    message = '{}:{} - {}'.format(fname, exc_tb.tb_lineno, err)
    print(message)


test_module.py:
def test_method_1():
    1/0


Данный код выводит:
main.py:4 - division by zero

Мне хотелось бы, чтобы он выводил что ошибка произошла в файле test_module.py
Что то примерно этого:
test_module.py:2 - division by zero
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
deepblack
@deepblack Куратор тега Python
Используй для этого декоратор
https://www.blog.pythonlibrary.org/2016/06/09/pyth...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
import traceback

print(traceback.format_exc())

print в нужном блоке except
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы