Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 1, 2017 11:46:09

gmaksim
От: Россия
Зарегистрирован: 2017-07-17
Сообщения: 42
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод ошибки от PyQt5 в консоль

FishHook
Что “всё”? Вы же понимаете, что невозможно показать построчный вывод ошибки в скомпилированной сишной библиотеке. Ваша ошибка возникает явно в питоньем коде, поэтому она и отлавливается.
То, что вы написали, то и отлавливается.
Согласен.

Офлайн

#2 Авг. 1, 2017 12:31:48

gmaksim
От: Россия
Зарегистрирован: 2017-07-17
Сообщения: 42
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод ошибки от PyQt5 в консоль

Все же нашел более оптимальный способ отлавливания PyQt ошибок:

https://stackoverflow.com/questions/34363552/python-process-finished-with-exit-code-1-when-using-pycharm-and-pyqt5

 # Back up the reference to the exceptionhook
sys._excepthook = sys.excepthook
def my_exception_hook(exctype, value, traceback):
    # Print the error and traceback
    print(exctype, value, traceback)
    # Call the normal Exception hook after
    sys._excepthook(exctype, value, traceback)
    sys.exit(1)
# Set the exception hook to our wrapping function
sys.excepthook = my_exception_hook
 try:
    sys.exit(app.exec_())
except:
    print("Exiting")
Ошибка была в
RuntimeError: wrapped C/C++ object of type QLineEdit has been deleted
Ура.

p.s. … что еще интереснее, и уводит в проблему освещенную тут:
https://habrahabr.ru/post/210304/
Выдержка (для понимания), почему есть трудности для “вытаскивания” ошибок PyQt в консоль IDE:
Модель работы PyQt можно упрощенно представить следующим образом: для каждого публичного класса С++ создается класс-обертка в Python. Программист работает с объектом-оберткой, а она вызывает методы «настоящего» C++-объекта.

Отредактировано gmaksim (Авг. 1, 2017 16:10:21)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version