Tips: APIのエラー

APIはどのようなエラーを返すのか

APIが返すエラーの種類は以下のヘッダファイルに含まれています。

それでは、どのAPIがどのエラーを返すのでしょうか?

この回答は、残念ながらありません。どのAPIがどのエラーを返すか についてのドキュメンテーションはないようです。 したがって、エラーの処理ルーチンでは次に述べるような ストラテジを用いるといいでしょう。

  1. 経験的に重要なエラーを特別扱いにする
    たとえば、一般にERROR_ACCESS_DENIEDERROR_NOT_ENOUGH_MEMORYであるとか、 CreateFileAPIであれば ERROR_PATH_NOT_FOUNDERROR_SHARING_VIOLATIONRegEnumKeyExであれば ERROR_NO_MORE_ITEMSであるとか、 よく出現するエラーというものがあります。 そこで、これらについてはそれぞれのエラーに応じた処理を行い、 それ以外については一般的なエラーを返すようにします。
  2. すべてのエラーを文字列に変換し、解釈をユーザに求める
    WINERROR.Hに記述されているエラー番号は それぞれエラーメッセージ文字列に 変換することができます。 ユーザとのインタラクティヴなインタフェースをもつ アプリケーションでは、これを用いてすべてのエラーを ユーザにわかる文字列に変換して提示する、という方法をとります。 DOSプロンプトで実行すコマンドの中にはこの文字列を表示している ものがあります。また、Microsoft Wordなどもある程度 このストラテジを採用しているようで、 オペレーティングシステムが不安定な環境ではミューテクスや セマフォといった専門用語がエラーのメッセージボックスに 出現したりすることがあります。

YUTANI Miki <yuta@kt.rim.or.jp>
Copyright © 1998 by YUTANI Miki.
All rights reserved.
$LastUpdated: Sun Mar 29 02:15:13 1998 $