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

В доке эксепшены кидаются в сервисах. В wanago так же.

В 100% туториалов на ютубе эксепшены кидаются в сервисах. Может быть это все же правильный подход? 😉
Очевидно, что каждый может делать по своему. Но считать общепризнанный подход неправильным - странно

12 ответов

12 просмотров

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

уже выше объясняли что лучше кидать локальные эксепшены в сервисе, а в контрллере их хэндлить и кидать нужный эксепшен уже там

Тут дело вот в чём, если у вас приложуха - чисто апи, работающий по http, то из сервисов норм кидать http ексепшены, если не предвидится вообще как-то по-другому сервисы использовать. Но по своей задумке - сервис это модуль для общения с моделью (бд), и ты можешь с ним разговаривать не только по http, а, например, из других сервисов, или из других модулей на том же сервере, в этом случае у тебя не обязательно сценарий http запроса, который при неудаче бросает httpException, мб ты как-нибудь по-другому хочешь этот сценарий обработать в другом сервисе, и тогда httpException бросать будет не идиоматично (ты же не по хттп с этим сервисом общаешься) Но в целом, если сервис служит только хттп апи и только ему - не вижу особого смысла нагромождать тру/кэтч повсюду с разными типами исключений Слишком много бойлералейта. Но правильно бросать httpexception из контролёров,а не сервисов.

Wilson Wilson 🦄
Тут дело вот в чём, если у вас приложуха - чисто а...

Не верное мнение, скорее всего ты не пробовал юзать фильтры, пробни, полностью откажется от этих слов)

То есть в сервисе кидаю ошибку - throw new Error А в контроллере кидаю HttpExcep?

Ruslan Fedko
То есть в сервисе кидаю ошибку - throw new Error ...

В фильтре ловишь Error и конвертишь в HttpError

Ruslan Fedko
То есть в сервисе кидаю ошибку - throw new Error ...

Призма, например, кидает свою ошибку, если запрос к бд не удался, и для неё можно написать глобальный фильтр, который будет ловить все ошибки призмы и в нем ты можешь уже обрабатывать, как нужно

Wilson Wilson 🦄
Призма, например, кидает свою ошибку, если запрос ...

Честно, не было еще опыта работы с призмой. Предполагаю, что просто в сервисе вызываем её функции То есть Если призма не сможет вытянуть данные Она кинет ошибку Эта ошибка всплывёт в сервисе Как я её там должен отработать?

Wilson Wilson 🦄
Призма, например, кидает свою ошибку, если запрос ...

Но если не хочешь в этом разбираться - то да, так идиоматичнее будет, если http исключения бросать в контроллере, а из сервисов бросать именно ошибки сервисные. Но ещё проще, как выше сказали, просто бросать http ошибки из сервиса, но это не совсем правильно

Ruslan Fedko
Честно, не было еще опыта работы с призмой. Предпо...

https://docs.nestjs.com/exception-filters Это не от призмы зависит Можно в сервисе не ловить, глобальный фильтр всё равно поймает и вернёт клиенту 500. Но можно написать свой фильтр и ловить все ошибки

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

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

@Benzenoid can you tell me the easiest, and safest way to bu.y HEX now?
Živa Žena
20
This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
What is the Dex situation? Agora team started with the Pnetwork for their dex which helped them both with integration. It’s completed but as you can see from the Pnetwork ann...
Ben
1
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
@lozuk how do I get my phex copies of my ehex from a atomic wallet, to move to my rabby?
Justfrontin 👀
11
Hello, Is iExec also part of the "inception program" or another one ? Would it be a name to qualified the nature of the relationship between iExec and Nvidia? And does Secret ...
Ñïķøłäś
8
Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
any reference of this implementation?
BitBuddha
29
Also, why can’t the community have a vote/ say when it comes to initiatives like buybacks. Isn’t the point of crypto decentralisation? Don’t we deserve input as long term supp...
👨🏽‍🦰
13
Hi guys, any problem with Pulsebrige? Trying to transfer from wETH to ETH. First it tells me to connect my metamask "through mobile app" not desktop. Then I did and confirmed ...
Snowflakecrypto
13
Карта сайта