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

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

AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

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

16 ответов

11 просмотров

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

Евгений-Сотников Автор вопроса
єгор 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;         } то не умрет

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

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

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

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

Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
@sand_witch скорее к тебе вопрос, добавил в .cabal webdriver-w3c и вот такая ошибка от nix develop error: Package ‘script-monad-0.0.4’ in /nix/store/7vdxbra0kwbr0ys0kc5...
Fedor
5
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
I have a type conversion problem, I have a optional field, it contains a list of integers or null, when I try to convert it from sqflite I use above method, but when it is nul...
Alper
2
Карта сайта