I oversimplified. What I actually did was to install a signal handler for sigsegv, and the handler threw an exception. The problem was that a third-party DLL over which I had no control (but which I had no choice except to use in my app) was blowing up with a segmentation fault. I needed to trap the fault, handle it, and let my app get on with life rather than dying a gory death. I could trap the signal just fine, but when I threw the exception out of it, Qt complained about that and the catch clause was never entered.sigsev is not an exception that is thrown. It is your program going POP! You cant catch/recover from segfault.
It is possible that the DLL also garbaged up the stack in the process of the segmentation fault, which then resulted in the failure of the catch clause to run, but that's impossible for me to find out since I can't debug it.
Bookmarks