Windowsのプログラミングに詳しい人がいたら教えてほしいのですが、
VC++で使えるWindowsの構造化例外とC++の例外の使い分けってどうすればいいのでしょうか?

__try{ z = x / y; /* ゼロ除算かも */ }__except(EXCEPTION_EXECUTE_HANDLER){ z = 0; } // 構造化例外
try{ z = x / y; }catch(...){ z = 0; }

xに適当な値を、yにゼロを代入して実行すると、上記のコードのどちらでも例外を捕捉できます
この例の場合、どちらでも捕捉できるので互いに取り替えても問題はないように思いますが、取り替えると問題が発生する例などはありますか?
どちらかに統一した方が無難だとは思うのですが、取り替えると問題が発生する例や、取り替えが不可能なケースについて教えてください