Должен ли я возобновить исключение в этом случае?

StackOverflow https://stackoverflow.com/questions/4980041

  •  12-11-2019
  •  | 
  •  

Вопрос

Это подход ОК?Я правильно обработаю исключениями?Смотри мой класс:

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.');
    }
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top