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

Почему люди не знают про DispatcherUnhandledException += App_DispatcherUnhandledException;

AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

и везде тулят try-catch(Exception ex)?

16 ответов

27 просмотров

Скорее всего, как затычка

Евгений-Сотников Автор вопроса
єгор Kn
Скорее всего, как затычка

Ну так есть глобальный хендлер, хера вы херачите говнокод?!

Евгений-Сотников Автор вопроса

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

Ну иногда обрабатывать некоторые ошибки нужно

Евгений-Сотников Автор вопроса
t
Ну иногда обрабатывать некоторые ошибки нужно

НЕКОТОРЫЕ, а не тупо все возможные

Евгений Сотников
да, потому-что есть один глобальный хендлер где мо...

Ти не завжди хочеш (точніше, майже ніколи не хочеш), щоб помилки переривали виконання всього коду і викидали виконання аж в глобальний хендлер Глобальний хендлер тільки для того, щоб ловити критичні необроблені помилки, які просочилися Інакше ти кладеш всю інфру заради "лога" Зазвичай у кожного фреймворка є власні глобальні хендлери (у asp.net core це middleware, у azure functions це ще якісь свої штуки, і т.д.) Плюс, ловлячи помилку десь далеко, ти втрачаєш локальний контекст (ти не можеш, наприклад, залогати стан локальних змінних на момент виникнення помилки, бо ти вже десь далеко на рівні домену)

Евгений-Сотников Автор вопроса
Vova Lantsov 🇺🇦
Ти не завжди хочеш (точніше, майже ніколи не хочеш...

Ты не хочешь прерывать исполнение если это ошибки логики а не твои неотловленные наллрефы Но у ошибок логики есть определенныйц тип который и надо хендлить, а не супекласс Exception

Евгений Сотников
Ты не хочешь прерывать исполнение если это ошибки ...

ти будеш вишукувати кожен клас помилки (яких в 1 методі може бути умовно 10), який може кинути кожна з ліб, яку ти юзаєш, щоб окремо це обробити, і так в усіх місцях коду, щоб твої try/catch локальні займали по 100 строк? успіхів) null ref там ніколи в цілому не має навіть виникнути Якщо він там виникнув у проді - питання до QA Коли код пишеться правильно - в цьому навіть нічого поганого немає, бо помилка (яка б вона не була) логується, а юзеру коректно повертається текст помилки на UI І знову ж таки останній абзац минулого повідомлення, досі валідний навіть для null ref

Евгений-Сотников Автор вопроса
Vova Lantsov 🇺🇦
ти будеш вишукувати кожен клас помилки (яких в 1 м...

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

Евгений Сотников
Да, все обшики которые приходят извне сборки надо ...

Давай інакше, мінуси якщо вони окремо не оброблюються (не беручи до уваги окремі випадки, коли це необхідно по логіці)?

Евгений-Сотников Автор вопроса

Захламляется код лишними вложенностями и вызовам логов

Евгений Сотников
Захламляется код лишними вложенностями и вызовам л...

Не згоден. У нас на проєкті в 95% випадків хендляться помилки catch (Exception), все ок

тому що якщо помилка дойде до глогбалнього хендлера, то потік вмре)

Евгений-Сотников Автор вопроса
Bogdan
тому що якщо помилка дойде до глогбалнього хендлер...

не обязательно, если ты в хендлере проставишь           private void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)         {                         e.Handled = true;         } то не умрет

Евгений Сотников
не обязательно, если ты в хендлере проставишь     ...

Я не про процес, а про потік кажу. Там не залишиться чому виконуватись, якщо стек ввесь розмотався

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта