NativeとManagedの例外に対する意識の違い

昨日とっちゃんから聞いた話なんだけど。


C++など(他よく知らないけど)のNativeな例外処理っていうのはとても遅い


だからC++では例外処理をエラー処理として使用することは「やっちゃダメ」って言われている

例外処理は、実行時にどうしても避けられないエラーを回避するために使用する
(DBのエラーとか)




代わって.NET…つまりManagedでは例外処理はエラー処理としてとても頻繁に使われる

Managedでの例外処理はNativeに比べて速いらしい

Karnelとかの、普通は取れない情報とかも取れるしね


シリアライズも多用するから例外処理はいろんなとこで必要なんだろうね



【結論】

Nativeでの例外処理はナシ(使う場合はよーーーーーーーーーーーく考えて使おう)

Managedでの例外処理はアリ(適切なExceptionクラスを選択すればそれなりに速いらしい)




セッション動画公開されたら見たほういいですよ
わんくま同盟 東京勉強会#9 『Exceptionのしくみ』