As of PEAR 1.3.2, PEAR_ErrorStack no longer instantiates and returns an Exception object in PHP5. Code that relies upon this behavior will break.
If the message generator exists, it is called with 2 parameters.
the current Error Stack object
an array that is in the same format as an error. Available indices are 'code', 'package', 'time', 'params', 'level', and 'context'
Package-specific error code
Error level. This is NOT spell-checked
associative array of error parameters
Error message, or a portion of it if the message is to be generated
If this error re-packages an error pushed by another package, place the array returned from pop() in this parameter
Protected parameter: use this to pass in the http://www.php.net/manual-lookup.php?pattern=debug_backtrace that should be used to find error context.
returns if compatibility mode is on, a PEAR_Error is also thrown. If the class Exception exists, then one is returned to allow code like:
<?php 1 throw ($stack->push(MY_ERROR_CODE, 'error', array('username' => 'grob'))); ?>
The errorData property of the exception class will be set to the array that would normally be returned. If a PEAR_Error is returned, the userinfo property is set to the array
Otherwise, an array is returned in this format:
<?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 ); ?>