Friday, 22 October 2021

No exception "bubbling up" from PySide slots

Demo code:

from PySide2.QtCore import Signal
from PySide2.QtWidgets import QApplication, QDialog


class MyDialog(QDialog):

mySignal = Signal()


def mySignal_handler():
raise Exception("bocs")


app = QApplication()
dialog = MyDialog()
dialog.mySignal.connect(mySignal_handler)
dialog.mySignal.connect(mySignal_handler)

try:
dialog.mySignal.emit()
except Exception as ex:
print("It is still the same exception context.")

Now try to guess the output ... :)