PEAR_ErrorStack::push()

PEAR_ErrorStack::push() -- エラーをスタックに追加する

概要

require_once 'PEAR/ErrorStack.php';

PEAR_Error|array PEAR_ErrorStack::push (integer $code [, string $level = 'error' [, array $params = array() [, string $msg = FALSE [, array $repackage = FALSE [, array $backtrace = FALSE]]]]])

後方互換性のための警告

警告

PEAR 1.3.2 では、PEAR_ErrorStack は PHP 5 の例外オブジェクトを 生成しませんし、それを返すこともありません。 この挙動に依存しているコードはうまく動作しません。

説明

もしメッセージジェネレータが存在する場合、2 つのパラメータを用いて それがコールされます。

次に、もしエラーがコンテキスト情報を含んでいた場合は コンテキスト処理メソッドによって処理されます。 最後に、エラーが適切なスタックに格納されます。

パラメータ

integer $code

パッケージ固有のエラーコード。

string $level

エラーレベル。スペルはチェックされません。

array $params

エラーパラメータの連想配列。

string $msg

エラーメッセージ、またはエラーメッセージの一部。

array $repackage

他のパッケージから渡されたエラーを再パッケージする場合、 このパラメータに pop() から返された配列を設定します。

array $backtrace

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     );
?>

例外・エラー

例外はスローされません。

注意

この関数は、スタティックにコールする ことはできません。