dlopen() で共有ライブラリを開く場合、例外が機能するようにするには、RTLD_GLOBAL を使用する必要があります。
例外を含む共有ライブラリを構築するとき、ld に-Bsymbolic オプションを渡さないでください。必要な例外が捕獲されなくなる可能性があります。