Задать вопрос
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
  • Вопрос задан
  • 96 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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