Size: a a a

BY Microsoft .NET User Group

2020 March 03

A

Anatoly in BY Microsoft .NET User Group
Andre
Кто какой подход использует при раставлении try catch?
Например есть какой-то сервис, с паблик методами. Этот сервис используется другими сервисами.
Должен ли ставить try во всех пабликах или в каком то глобальном?
Какие есть подходы к этому вообще?
что ты подразумеваешь под вопросом?
источник

A

Anatoly in BY Microsoft .NET User Group
у меня нет необработанных исключений с точки зрения трай-кетч обычно
источник

A

Anatoly in BY Microsoft .NET User Group
но есть то, что заворачивается в 500 Unexpected exception клиенту
источник

A

Andre in BY Microsoft .NET User Group
Да, не уточнил, под сервисом имею какую-то зависимость внутри апп
источник

A

Andre in BY Microsoft .NET User Group
Просто через интерфейс в конструктор например
источник

АК

Алексей Каешко in BY Microsoft .NET User Group
Try catch это очень тонкая кухня. Иногда нужно все пробросить наверх, иногда спрятать, иногда сагрегировать
источник

A

Andre in BY Microsoft .NET User Group
Да именно, поэтому и спрашиваю, может есть какие-то best practices
источник

AT

Alexey Tkachenko in BY Microsoft .NET User Group
1. Исключение выбрасывается в том случае, если корректное продолжение работы в текущем контексте невозможно
2. Исключение перехватывается в том месте, где контекст позволяет его корректно обработать и восстановить корректное выполнение программы
источник

A

Andre in BY Microsoft .NET User Group
Ок, спасибо, звучит хорошо
источник

A

Andre in BY Microsoft .NET User Group
Это свое или откуда-то?
источник

A

Anatoly in BY Microsoft .NET User Group
это здравый смысл
источник

A

Anatoly in BY Microsoft .NET User Group
внутри одного процесса - если ты не можешь обработать эксепшн, ты не должен этого делать
источник

A

Andre in BY Microsoft .NET User Group
Да, это решается интуитивно, думал может это где-то вот прям описано
источник

AT

Alexey Tkachenko in BY Microsoft .NET User Group
так вроде ж я достаточно чётко описал, не?
источник

AT

Alexey Tkachenko in BY Microsoft .NET User Group
это банальная компиляция логики, опыта и литературы
источник

AB

Alex B in BY Microsoft .NET User Group
Я бы еще добавил, что не стоит на исключениях пытаться строить exec/control flow.
источник

A

Andre in BY Microsoft .NET User Group
Да, банальная и основанная на опыте, но стало любопытно, есть ли формальное описание
источник

A

Andre in BY Microsoft .NET User Group
Например, дизайн паттерны описаны, хотя там есть банальные и используемые интуитивно
источник

A

Andre in BY Microsoft .NET User Group
Ну и для начинающих, использование try не банально, собственно вопрос и родился после всяких ревью
источник

AB

Alex B in BY Microsoft .NET User Group
источник