import sys

from PySide6.QtCore import QObject, QEvent, QLibraryInfo
from PySide6.QtWidgets import QApplication


class Receiver(QObject):

    def event(self, ev):
        try:
            try:
                raise RuntimeError('original error')
            except RuntimeError:
                raise ValueError('mistakes were made')
        except:
            print(repr(sys.exc_info()[1].__context__))
            raise


if __name__ == '__main__':
    print('Python {}.{}.{}'.format(sys.version_info[0], sys.version_info[1],
                                    sys.version_info[2]))
    print(QLibraryInfo.build())
    app = QApplication(sys.argv)

    v = Receiver()
    app.sendEvent(v, QEvent(QEvent.Type.User))
    app.sendEvent(v, QEvent(QEvent.Type.User))
    app.processEvents()
