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

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

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

18 ответов

8 просмотров

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

Если 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 завязались, а переписывать лень/долго.

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

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

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Карта сайта