Claro. Solo dependerá de su código de manejo de errores tener en cuenta, y hacer uso de la propiedad de la matriz de forma adecuada. Se puede definir el constructor de la clase de excepción personalizada para tomar cualquier parámetro que desee y, a continuación, sólo asegúrese de llamar al constructor de la clase base desde dentro de la definición del constructor, por ejemplo:
class CustomException extends \Exception
{
private $_options;
public function __construct($message,
$code = 0,
Exception $previous = null,
$options = array('params'))
{
parent::__construct($message, $code, $previous);
$this->_options = $options;
}
public function GetOptions() { return $this->_options; }
}
Luego, en el código de llamada ...
try
{
// some code that throws new CustomException($msg, $code, $previousException, $optionsArray)
}
catch (CustomException $ex)
{
$options = $ex->GetOptions();
// do something with $options[]...
}
Tener un vistazo a la documentación de PHP para extender la clase de excepción:
http://php.net/manual/en/language.exceptions.extending.php
Creo que podría estar un poco enfermo. Interesante pregunta, sin embargo. –