Задать вопрос

Как ловить ошибку вылета программы?

Всем привет!
Пишу программу на PyQt. Программа достаточно большая (Для меня).
При тесте постоянно через дебагер ловлю и исправляю ошибки! (Но все я не могу проверить)
Но когда я отдам программу работникам они будут дебагера. И при ошибке программа просто закрывается!
Вопрос: Как показать или записать где произошла ошибка и почему?

П.С. Программа у меня начинается так:
app = QApplication(sys.argv)
main = form.main_window.MainWindow()
sys.exit(app.exec_())


В моем случае решение такое: (Показывает где точно произошла ошибка и когда + пишет в фаил)
import sys, traceback
from datetime import datetime


def my_excepthook(t, v, tb):
    with open('1.txt', 'a') as f:
        f.write("\n---===Error===---\n")
        f.write("Time = %s\n" % datetime.now().strftime("%d.%m.%Y"))
        traceback.print_exception(t, v, tb, file=f)


sys.excepthook = my_excepthook

app = QApplication(sys.argv)
main = form.main_window.MainWindow()
sys.exit(app.exec_())
  • Вопрос задан
  • 428 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

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