警告 |
PEAR 1.3.2 では、PEAR_ErrorStack は PHP 5 の例外オブジェクトを 生成しませんし、それを返すこともありません。 この挙動に依存しているコードはうまく動作しません。 |
もしメッセージジェネレータが存在する場合、2 つのパラメータを用いて それがコールされます。
カレントのエラースタックオブジェクト
エラーと同じフォーマットの配列。 有効なインデックスは 'code', 'package', 'time', 'params', 'level', そして 'context'
パッケージ固有のエラーコード。
エラーレベル。スペルはチェックされません。
エラーパラメータの連想配列。
エラーメッセージ、またはエラーメッセージの一部。
他のパッケージから渡されたエラーを再パッケージする場合、 このパラメータに pop() から返された配列を設定します。
Protected パラメータ。エラーコンテキスト情報を取得するため、 debug_backtrace にこのパラメータを渡します。
互換性モードが on の場合には PEAR_Error もスローされます。 例外クラスが存在する場合、以下のようなコードで利用できる形式で返されます:
<?php 1 throw ($stack->push(MY_ERROR_CODE, 'error', array('username' => 'grob'))); ?> |
通常は、例外クラスの errorData プロパティの内容が配列に設定されます。 PEAR_Error が返される場合には、userinfo プロパティが配列に設定されます。
それ以外の場合は、このようなフォーマットの配列が返されます:
<?php 1 array( 2 'code' => $code, 3 'params' => $params, 4 'package' => $this->_package, 5 'level' => $level, 6 'time' => time(), 7 'context' => $context, 8 'message' => $msg, 9 //['repackage' => $err] repackaged error array 10 ); ?> |