おいら思うんだけど、関数定義したら常に例外を捉える仕様のほうが良いんじゃないの?
良く見かけるんだけど、

int hogehoge(){
  try{
     口説いてみる();
  }
  catch{
     OKされた
  }
}

これって意味無いよね。例外処理をピンポイントで使うってのがなんか、例外処理の思想に反してると思うし、
じゃあてんで、毎回、毎回、関数の中身を例外でくるむのも意味無いからこんな風に、関数は常に例外を受け取って、
としたほうが良いとおもう。

int hogehoge(){

   口説いてみる();

  return 0;
}catch{
  OKされた!!
}
で、例外を取りたくない場合は、catch構文を書かなきゃ普段の関数と同じにすれば良いのだと思う。