I found the root cause. It appears that when the Steam online subsystem is enabled, it re-handles any exceptions and forcefully terminates the program with pthread_kill()
. Setting
[OnlineSubsystemSteam]
bEnabled=false
in DefaultEngine.ini
restores the exception handling.