説明
処理に失敗した場合、DB の関数のほとんどは
DB_Error オブジェクトを返します。ここにはエラーに関する情報が
含まれます。DB_Error は、PEAR_Error
と同じ関数を提供します。
DB_Error::getMessage() から返されるメッセージの内容は、
DBMS にかかわらず共通です。
DB_Error::getCode() から返されるエラーコードの内容も、
DBMS にかかわらず共通です。返される数値は、DB.php
で定義されている定数 DB_ERROR_* をもとにしています。
DB_Error::getDebugInfo() および
DB_Error::getUserInfo() は、
DBMS 固有の完全なエラー情報を返します。
例 39-1エラーを捕捉し、何が起こったのかを調べる <?php
require_once 'DB.php';
$db =& DB::connect('pgsql://wronguser:badpw@localhost/thedb');
if (PEAR::isError($db)) {
/*
* プログラムでほんとうにやりたいのは、こんなことではないかも
* しれません。これは、たた単にエラーオブジェクトから返される
* 情報がどのようなものかを説明するためだけのものです。
*/
echo '標準のメッセージ: ' . $db->getMessage() . "\n";
echo '標準のコード: ' . $db->getCode() . "\n";
echo 'DBMS 固有のユーザメッセージ: ' . $db->getUserInfo() . "\n";
echo 'DBMS 固有のデバッグメッセージ: ' . $db->getDebugInfo() . "\n";
exit;
}
?> |
|