【お題】絵本のタイトル

VC++6.0でADOを使ったDBアクセスを行っています。
ADOの_com_errorをエラー内容別に対処したいと思っています。

ネット上やMSDNライブラリを調べた結果、以下のようにすればエラー別の対処が可能だとわかりました。
try {
// DB access.
} catch (_com_error& e) {
WORD w = _com_error::WCodeToHRESULT(e.WCode());
switch(w) {
case 0:
// Something to do.
break;
}
}

ただ、上記のcase文の数値に該当する箇所について、正しくはエラー定数を記述するという解説もみかけました。このエラー定数にはどのようなものがあるか、何を参照すればわかるでしょうか?
また、ADOのこれらの情報については、書籍等を参考にしないとわからないものでしょうか?(探し方が悪いのか、MSDNライブラリでは一定の値のエラーが返るという以上の情報を得られませんでした。)

よろしくお願いいたします。

A 回答 (1件)

} catch (_com_error& e) {


String m1 = (char*)e.Description();
String m2 = (char*)e.ErrorMessage();
}
どちらかのコードでエラー内容が文字列で取得できるので、エラー原因はわかります。この程度でいいのではないですか?
エラー定数を全部洗い出すのは大変ですよ。
    • good
    • 0
この回答へのお礼

ありがとうございました!

確かにそうかもしれません…。
時間をかけるべき部分でもないですし、その方法でいこうかと思います。

全部を洗い出すのではなく、2,3のエラーにのみ特定の処理をしたいと考えていました。
ドキュメント、ありそうでないですね。

お礼日時:2009/05/12 17:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!