スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

エラー処理の漏れをなくしたい 

アプリケーションなどのシステムとして稼動するソフトウェアを開発する場合、独自にエラー番号を定義することが多いと思います。 通常の開発では正常系の処理が先に実装されますのでエラー処理は多少の差こそあれ後回しにされます。

 

一つの関数の中でエラーを検知、エラーの対処を行う場合はそれほど問題は発生しないのですが、 エラーの検知する箇所と検知したエラーを対処する箇所が別である場合、エラー処理が漏れてしまうことがあります。 細かいエラー処理になればなるほどIssueTrackなどにも要件やToDoとして登録されることが少なくなりこれもエラー処理の漏れが見逃されやすい要因になっています

 

このことを(小さいシステムでも使用可能としたいので)できるだけコストをかけずに対処できる方法として次のようなものはどうでしょうか。 あくまで思い付きレベルであることを最初にことわっておきます

 

以下のような関数(あるいはマクロ)を用意しておきます。

ErrMsg RegsterError(ErrNo errno);
void ResolvedError(ErrMsg errmsg);

エラーを検知した場合はRegsterError()を呼び出します。この際にエラー番号が登録されます。 その後エラーを対処したところでResolvedError()を呼び出し登録されたエラーを取り除きます。 こうしておけばエージングなどでシステムを停止させるほどのエラーではないものの放置されているエラーが発生した場合でも後から参照することができます。


コメント

コメントの投稿















管理者にだけ表示を許可する

トラックバック

この記事のトラックバックURL
http://ochoo.blog48.fc2.com/tb.php/41-7f468ccd

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。