misc.log

日常茶飯事とお仕事と

COMコンポーネントの利用がうまくいかない

VB6以前のライブラリを使うアプリを開発中。だが、処理がうまくいかない。問題のコンポーネントにデータベースからのデータ取得を依頼し、取得した結果を取り出したり戻したりするところで、

’System.Runtime.InteropServices.COMException’; のハンドルされていない例外が Viewer.exe で発生しました。

追加情報 : HRESULT からの例外です : 0x800A0BCD。

というようなエラーが出る。どうする!?

と思ったら、原因は非常にくだらないものだった。問題のメソッドには、データ取得件数を指定する引数があるのだが、そこがゼロになっていた...もうアホかと、馬鹿かと。ただ、ゼロ件の場合、ゼロ件であることを判断することができないようだ。結局、異常なデータにアクセスしようとした際のエラーハンドリングが、.NETからはできないということか。なにかうまい方法を見つけないといけない。