Mehanoid
Апрель 6, 2012 11:02:51
В PyQt есть такая бяка: если где-нибудь в слоте возникает неперехваченное исключение, то PyQt его перехватывает, сыпет информацию об исключении в консоль, и продолжает дальше работать как ни в чём не бывало. Такое поведение не совсем устраивает, можно какую-нибудь ошибку и пропустить случайно. Так я и не понял, можно ли как-то изменить такое поведение? Переопределением QApplication.notify, как я понял, это не сделать
reclosedev
Апрель 6, 2012 13:31:54
Перехватить исключения у 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
...