CDaoException クラス
更新 : 2007 年 11 月
データ アクセス オブジェクト (DAO: Data Accsess Object) を基にした MFC データベース クラスから発生する例外条件を表します。
class CDaoException : public CException
解説
このクラスは、発生した例外の原因を調べるために使うパブリック データ メンバを持っています。CDaoException オブジェクトは、DAO データベース クラス メンバ関数が構築し、スローします。
メモ : |
---|
DAO データベース クラスは、オープン データベース コネクティビティ (ODBC: Open Database Connectivity) に基づいている MFC データベース クラスとは性質が異ります。すべての DAO データベース クラス名には、"CDao" というプリフィックスが付きます。DAO クラスを使って ODBC データ ソースにもアクセスできます。一般的に、DAO を基にした MFC クラスは、ODBC を基にした MFC クラスよりも多くの機能を持っています。DAO ベースのクラスは、ODBC ドライバを使ってアクセスできるのに加え、独自のデータベース エンジンを使ってもデータにアクセスできます。DAO を基にしたクラスは、DAO を直接呼び出さずにクラスを経由してテーブルを追加するなどの DDL (Data Definition Language) 操作をサポートします。ODBC クラスがスローする例外については、「CDBException クラス」を参照してください。 |
CATCH 式のスコープの範囲内で例外オブジェクトにアクセスできます。AfxThrowDaoException グローバル関数を使うと、独自のコードから CDaoException オブジェクトをスローできます。
MFC では、すべての DAO エラーを CDaoException 型の例外として表します。この型の例外をキャッチしたときは、CDaoException のメンバ関数を使ってデータベース エンジンの Errors コレクションに格納されている DAO エラー オブジェクトから情報を取得できます。各エラーが発生するたびに、1 つ以上のオブジェクトが Errors コレクションに格納されます。通常、コレクションにはエラー オブジェクトが 1 つだけあります。ODBC データ ソースを使用していると、複数のエラー オブジェクトを取得することがよくあります。ほかの DAO 操作でエラーが発生すると、Errors コレクションはクリアされ、Errors コレクションには新しいエラー オブジェクトが格納されます。DAO 操作でエラーが発生しなかったときは、Errors コレクションには何の影響も与えません。
DAO エラー コードについては、DAOERR.H ファイルを参照してください。関連情報については、DAO ヘルプの「Trappable Data Access Errors」を参照してください。
一般的な例外処理や CDaoException オブジェクトの詳細については、「例外処理 (MFC)」と「例外処理 : データベースの例外」を参照してください。2 番目の項目には、DAO での例外処理を示すサンプル コードがあります。
必要条件
ヘッダー : afxdao.h