例外ってなんだろう
例外ってなんだろうと考える。とりあえず、完璧主義者のjohn robbinsはC++例外は使うな。エラーは関数が報告し、プログラマーは調べるべきだ。といい、かつ、.NETの例外処理は使えるらしい。まあ、ともかくこの本は奥が深いので後で読む。
.NET&Windowsプログラマのためのデバッグテクニック徹底解説 (マイクロソフト公式解説書)
- 作者: ジョンロビンズ,John Robbins,豊田孝
- 出版社/メーカー: 日経BPソフトプレス
- 発売日: 2003/10/28
- メディア: 単行本
- 購入: 1人 クリック: 47回
- この商品を含むブログ (32件) を見る
エラーを分類すると
- 外部的要因によるエラー
ファイルが無い、アクセス権限が無い、メモリが無いなど。ユーザーがなんとかすれば、続行可能かもしれない。(続行させるロジックを入れると難しくなるエラー処理)
- 内部的要因によるエラー
設定されているプロパティが異常などのコーディングエラー
- 原因が特定されないエラー
なんだかわからないけれど、サブシステムの一部がエラーになった。(続行不可能)
- プログラムエラー
メモリ保護エラー、freeしたメモリ参照
- ロジックエラー
デッドロックなど考え方のエラー
エラー処理方法
- try, catch
- SEH例外(MS特製)
- .net例外(MS特製)
- 戻り値(昔風)
- getErrorメソッドクラスあるいは、geterror()関数系(誰も見ちゃくれない)
- HRESULT+getLastError (WIndows系:これでスレッド対応しているという)
まあ色々あるという事で苦労の後はあるみたいだが。
でどうしたいんだろう
いまいち、どうまとめるのがいいのやら。