170 похожих чатов

Коллеги, интересует Ваш опыт в проектирование ответов Laravel. К примеру, есть

Контроллер Роутера. В нем есть множество методов и если в каком то методе ошибка, необходимо остановить процесс и вывести ошибку в определенном формате, выполнение же код остановить.

Как Вы поступаете?
Пример на скриншоте. Как Вы бы поступили?
http://joxi.ru/zANJVBLcjdpePA

16 ответов

5 просмотров

эксепшоны?

Оборачиваешь код в try-catch, если что-то идёт в коде не так - инициируешь ошибки, в catch отлавливаешь и обрабатываешь

Роман-Webds Автор вопроса

ну это не совсем ошибки кода, это ошибки работы кода..ну к примеру нет данных определенных или настроек или чего нить еще.

Ты в эксепшоне хоть жопу голую рисуй https://laravel.com/docs/8.x/errors#the-exception-handler

На каждую ошибку - свой эксепшон

Роман-Webds Автор вопроса

И я так понимаю вывод сам разместить здесь app/Exceptions/Handler.php Верно ?

Да

Роман-Webds Автор вопроса

или все же лучше расширять и свой создать и файл? php artisan make:exception Exceptions --render

hanlder - обработчик ошибок, а исключений в ларавеле есть великое множество

Роман-Webds Автор вопроса

ну в общем направление верно))

эксепшон кидать?

Роман-Webds Автор вопроса

+

что плюс то, кидай экспешон, лови его, отдавай в фронт что-то (не само сообщение) сам эксепшон сохрани на всякий случай(рекомендую это делать) а код контроллера можешь вывести в сервис, а вместо кода ловить эксепшоны это то как я делаю

и лучше, все обернуть в транзакции если данные должны быть чистыми (ну они должы быть таковыми)

Роман-Webds Автор вопроса

я делаю так: 1. Создал кастомный экшен, расширил стандартный. 2. Переопределили конструктор, добавил возможность декодирования json 3. В кастомном экшене сделал разные обработкики ответов. 4. Добавил в handler главного экшена проверку на вызов моего кастомного 5. во всех местах где пошло что то не так просто вызиваю кастомные экшен и передаю туда массив параметров - в итоге получаю на выход JSON ответ.

если в коде обрабатываются какие-то физические данные(например файлы) то они должны быть возвращены в прежнее состояние. Объекты, массивы и прочие данные должны быть возвращены(или удалены) в прежнее состояние чтобы не засорять память

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
11
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ребят, кто сталкивался с тем, что Electron.js не разворачивает билд React.js-приложения? Голый body в чёрном цвете, как и должно быть, но остального - нет. Билд работает исп...
..
6
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Anyone knows how to build this widget in Flutter? I have all the assets for round stations and the road, but how can I make the my widget animate between these stations? And h...
Mohammad Zamani
9
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Карта сайта