Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 6, 2012 11:02:51

Mehanoid
Зарегистрирован: 2012-04-06
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt перехватывает исключения

В PyQt есть такая бяка: если где-нибудь в слоте возникает неперехваченное исключение, то PyQt его перехватывает, сыпет информацию об исключении в консоль, и продолжает дальше работать как ни в чём не бывало. Такое поведение не совсем устраивает, можно какую-нибудь ошибку и пропустить случайно. Так я и не понял, можно ли как-то изменить такое поведение? Переопределением QApplication.notify, как я понял, это не сделать

Офлайн

#2 Апрель 6, 2012 13:31:54

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

PyQt перехватывает исключения

Перехватить исключения у PyQt можно с помощью sys.excepthook. У меня в одной программе вот так:

import sys
import traceback
...
def exception_hook(type_, value, tb):
    logger.error('Unhandled top level exception:\n%s', ''.join(traceback.format_exception(type_, value, tb)))
...
if __name__ == '__main__':
    sys.excepthook = exception_hook
    ...


Отредактировано reclosedev (Апрель 6, 2012 13:35:52)

Офлайн

#3 Апрель 6, 2012 14:06:41

Mehanoid
Зарегистрирован: 2012-04-06
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt перехватывает исключения

Спасибо! То, что надо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version