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

Объясните пожалуйста чем так плохи эксепшены? Я понимаю если это

тупа костыль дабы не пытаться сделать нормальные проверки, но у типа вроде не такой случай, ему вроде просто нужно вернуть информацию о том что не так

18 ответов

15 просмотров

Потому что медленно

Если id извне - это одно, но если я его получил внутри где то - это другое

Oleg Safonov
Если id извне - это одно, но если я его получил вн...

тогда у вас в репе должно быть GetByIdMaybe, GetByIdRequired

Oleg Safonov
Да, по аналогии с first/firstordefault,

ну так исключение в этом случае бросается ормом

Сергей
ну так исключение в этом случае бросается ормом

Ну так я ж не всегда беру сущность из орм напрямую. Я ж её там собирать по частям могу. Или обернуть хочу, что ef исключение не падало

ну когда дело дойдет до того что вам надо будет хайлоад писать, то такие кидания ексепшенов погубят перф везде

Сергей
ну когда дело дойдет до того что вам надо будет ха...

Нет, если они бросаются только в случае когда нужно прекратить выполнение, а не чтоб из выше catch делать и продолжать

Oleg Safonov
Нет, если они бросаются только в случае когда нужн...

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

хай перф код с ексепшенами специально работает сейчас через throw helper-ы, потому что кодген что выдает throw new Exception высирает столько много, что метод прекращает быть инлайнбл френдли

Сергей
хай перф код с ексепшенами специально работает сей...

Э? newobj + throw. Два IL кода - это много? В JIT выводе даже заинлайнилось. https://sharplab.io/#v2:C4LglgNgPgAgTABgLACh4EZUwQAhugOgCUBXAO2DAFsBTAgYQHsqAHSGgJwGVOA3MAMY0AzgG5UEtABYcAFQAWYYQElh9AIYQIYMgHMAFAEocAb1Q4LcxSuEKOjAO46Dh8SgC+kgNoBZGsHlGABNlVgh9PwDg0JYIAHkWSkYyYQIAQV1dDhFhMF4aZTJtMmdDAF0sGQUlVTtHZyNTc0swADN9JhTGCDoiGnUggBkdGkaAQgBeHAAidDgAZmnDZstLAPsHHDIaTYBRAA8hRLBkozdPFCA

int3 - это и значит ексепшн, вот пример - сравните кодген для ThisIsCalling и ThisIsCalling2

Сергей
int3 - это и значит ексепшн, вот пример - сравнит...

Действительно. Интересно, а что оно там вообще делает то перед этим и зачем там столько кода?

SomebodyOdd
Действительно. Интересно, а что оно там вообще дел...

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

Руками. Почему компилятор этого не делает, если это помогает? Не могу придумать причину, почему бы этого в релизе не делать

SomebodyOdd
Руками. Почему компилятор этого не делает, если эт...

это уже не ко мне вопрос, вот недавно с пропоузалом с arg!!, там генерился какраз ThrowHelper рослином, но как знаем это роллбекнули

Сергей
это уже не ко мне вопрос, вот недавно с пропоузало...

Да это понятно, скорее риторический. Наверняка там на что-то в jit завязались, а переписывать лень/долго.

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта