エラーハンドリング勉強会

の懇親会?みたいなのが無かったので(まあ私は聴講者その1に過ぎなかったのですが)、発表者のranhaさんと、nihaさんとeldeshさんを呼び出して(なんという不遜、なんという豪華メンバー)秋葉原で適当に話してきました。ありがとうございます。

覚え書き。C++0xにはパターンマッチ可能な多相バリアントが追加される。

型。

std::exception_ptr var;

値をboxing

try{
   throw 任意の型の任意の値;
}catch(...){
   var = std::current_exception();
}

追記。専用の関数が用意されているそうです。

var = std::make_exception_ptr(任意の型の任意の値);

値をパターンマッチで取り出す。

try{
  std::rethrow_exception(var);
}catch(int i){
   ...
}catch(std::string s){
   ...
}catch(...){
   ...
}

これはSMLでも使用実績のある由緒正しいテクニックらしい。

メモ。http://www.nminoru.jp/~nminoru/programming/stackoverflow_handling.htmlを穴が開くまで読む。