try-catch для мелких задач?Признайтесь , иногда просто хочется получить данные, а не писать эссе на PHP.
try {
$post = Post::findOrFail($id);
} catch (ModelNotFoundException $e) {
report($e);
$post = null;
}Чисто? Не совсем.
Laravel хелпер
rescue() делает это одной строкой:$post = rescue(fn() => Post::findOrFail($id));
Если появляется ошибка, Laravel тихо обрабатывает исключение и продолжает работу.
Нужен резервный вариант?
$post = rescue(
fn() => Post::findOrFail(999),
new Post(['title' => 'Untitled'])
);
Хотите получить выборочный отчет?
$data = rescue(
fn() => Http::get('https://api.example.com')->json(),
[],
report: fn($e) => $e instanceof ConnectionException
);
— Без повторяющихся
try-catch— Опциональная отчетность об ошибках
— Более чистый и безопасный код
Итог:
rescue() делает код кратким и понятным — идеально подходит для небольших, отказоустойчивых операций.Ведь иногда одной строки бывает достаточно.
👩💻 Хелпер `rescue()`
📱 @dev_notes_ru
#Laravel #Laravel12