->method2()
->method3();
Чтобы отловить исключения, при каждом вызове я вынужден оборачивать код try catch
try{
$response = $Lib::create()->method1();
}catch($e){
dd($e);
}
try{
$response = $Lib::create()->method1()->method2();
}catch($e){
dd($e);
}
try{
$response = $Lib::create()->method3();
}catch($e){
dd($e);
}
и тп.
Каким образом этого избежать и задать в Laravel свой обработчик исключений в одном месте?
В файле
app/Exceptions/Handler.php
есть методы report() и render() но они обрывают работу скрипта, мне же нужно ее продолжать.
В чём проблема вызвать всю цепочку и после отловить исключение?
Каким образом?
Я привёл привер псевдокодом
Я не хотел бы при каждом вызове оборачивать код в try catch. А задать обработчик в одном месте. В этом и вся суть вопроса.
Вынеси тогда цепочку вызовов в сервис, там лови исключения, а где нужно — вызывай метод из сервиса
И что для каждой цепочки создать отдельный метод? Какое-то странное решение имхо
Слишком абстрактно. Если нужны прям разные вариации вызовов, то можно каждую такую цепочку вынести в отдельный метод. Не вижу в этом проблемы
Проблема в дублировании кода. Ваше решение не лучше (а может и хуже:) ) обычного оборачивания в try catch.
Типа такого надо? https://freek.dev/1691-adding-trycatch-to-laravel-collections
Оборачивать работу с библиотекой в отдельный сервис это хуже чем что?
Аа, там библиотека
Обсуждают сегодня