@QNA-1976

Как объединить (уменьшить код) для обработки исключений?

try {
    $this->mObj->checkOperation();
} catch (DomainException $e) {
    $this->alertRedirect('danger', $e->getMessage(), '/operations');
}
try {
    $this->mObj->checkMission();
} catch (DomainException $e) {
    $this->alertRedirect('danger', $e->getMessage(), "/operation-{$this->mObj->oid}/missions");
}

сразу говорю, что читал и видел, что вложенные как-то можно использовать, но нужен правильный конкретный пример данного случая, покажите, пожалуйста, чтобы не перемудрить
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
kimono
@kimono
Web developer
Так вы выкидывайте разные исключения:
class A {
    public function checkOperation() {
        throw new ADomainException;
    }
}

class B {
    public function checkMission() {
        throw new BDomainException;
    }
}

try {
    $this->mObj->checkOperation();
    $this->mObj->checkMission();
} catch (ADomainException $e) {
    $this->alertRedirect('danger', $e->getMessage(), '/operations');
} catch (BDomainException $e) {
    $this->alertRedirect('danger', $e->getMessage(), "/operation-{$this->mObj->oid}/missions");
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы