例外のエレガントなというか、トレンドを教えてください。
いま、ある処理のなかで例外が発生したら、それをキャッチして、且つ
それがどこで起きたかもしりたいので、こんな風に書いてます。

try{
  処理1
}
catch(Exception ex){
  MessageBox.Show(this, "例外1:" + ex.ToString(), "エラー");
  return;
}
try{
  処理2
}
catch(Exception ex){
  処理1の片付け(Closeとか。。)
  MessageBox.Show(this, "例外2:" + ex.ToString(), "エラー");
  return;
}

この処理を全体を関数にして、別の処理から呼び出すように改造するとします。
すると、呼び出し側でも
try{ foo();} catch(Exception ex) { MessageBox.Show(this,"例外3:"...}って書くのが、ポリシー的に正しいかな?って思ってます。
でもそうするとメッセージボックスが一杯出てウザイじゃないですか?
そこでド単純に、例外を補足する度に、「どこそこのコードでこんな例外を補足したよ」って情報をくっつけながら
再送していって、一番上でメッセージボックスを出したいとか思うわけですよ。

そこで疑問なのですが、
・そもそもこういう例外の雪だるま式の再送ってトレンドとしてどうなの?
・やるとしたら実際どうやって情報をくっつけて再送するの??(サンプルコードくれくれで申し訳ないのですが・・・)

です。よろしくお願いします。m(_ _)m