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

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

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

18 ответов

18 просмотров

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта