すんません。tryの意味わかってないかもしれないです。
書き忘れましたが、C++です。

throwで詳しいエラー情報が投げられるので
if (f()) { }
else { }
ではエラー情報が取得できないので例外を使ってるのですが…

ちなみにcatchは省略して書きました。
すいません。動作が違うとはどのように違うのでしょうか?