Должен ли я возобновить исключение в этом случае?
Вопрос
Это подход ОК?Я правильно обработаю исключениями?Смотри мой класс:
class Email extends String
{
protected function validate($email)
{
try{
parent::validate($email);
} catch(InvalidArgumentException $e) {
throw $e;
}
if(!filter_var($value,FILTER_VALIDATE_EMAIL))
{
throw new InvalidArgumentException('etc.');
}
}
}
. Решение
Если вы не собираетесь ничего делать, с исключением в том, что в этом блоке Catch нет, не нужно приложить этот родительский метод вызова в своем собственном блоке Try-Catch.Метод будет автоматически пропустить исключение из реализации родителей, если он сталкивается с одним внешним блоком Try-Catch, точно так же, как если вы бросили исключение из того же контекста (как вы делаете после вашего состояния):
protected function validate($email)
{
parent::validate($email);
if (!filter_var($value, FILTER_VALIDATE_EMAIL))
{
throw new InvalidArgumentException('etc.');
}
}
. Не связан с StackOverflow