Я хочу добавить к классу Exception, кое-какой метод. И соотвественно мне нужно, чтобы все наследники этого класса имели этот метод. Конечно можно сделать наследника от Exception и потом все должны будут наследовать этот новый класс, но это как-то не очень мне нравится.
Как я хотел(и сейчас понял что это не очень круто) сделать класс ExceptionForLog, который будет содержать этот заветный метод, и все ексепшены приводить к этому классу. Но если так делать, то можно потерять специфичные для некоторых ексепешнов поля и методы.
Я вот тут еще думал(и сейчас мне эта идея начинает нравится больше) сделать Обёртку вот так:
class ExceptionWrapper
{
protected $exception;
public function setException(Exception $e)
{
$this->exception = $e;
}
public function MySpecMethod()
{
// работаем с $this->exception;
}
}