Delphiからの移植の為だから、
catchとの組み合わせまで考えてなかったんだろな。

catch(...) を __except(true) にすれば動作はすると思うよ