もうちょっと頑張ろう。 最近そういうのが流行ってるらしいので。調べながら書くのを久し振りにやってみたい感じ。 CでC++の例外を捕まえたり投げたりする話。 いや、この話は理解しようとして、過去に二回挫折してんだけど。そろそろ僕も乗り越えないといけない時期が来たんではないかと。意味がわからんけど。 いや、それはいいか。とにかくC++の例外処理を解明していくのは面白い遊びなんではないかと思う。と、いうわけで、 unwind-SjLj type_info と 例外の実装 unwind-dwarf2 と 例外の謎と効率とその実装 と、いう順番で話を進めていく。まだ詳しく理解したわけではないので、気分によっては他の話が入ってきたりするかもしれない。そこらへんは、まあ、柔軟な対応ということで。 まず、C++の例外処理は、「大域脱出(unwind)」と、「RTTI」のふたつからなっている。 void f
![2005-11-04](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)