обработка ошибок
От: MadHuman Россия  
Дата: 07.04.22 16:16
Оценка:
Всем привет!
хватит про политику, давайте про полезное)

кейс. есть функция GetThing, внутри проверяется её аргумент на валидность. если что не так — генерится ArgumentException (AE). пока всё ок.
теперь её надо заюзать например внутри хандлера рест-апи ендпойнта. хочется чтоб если извне пришедший аргумент для неё кривой — вернуть 400.

можно сделать кэтч для AE, но это может оказаться AE из более глубоких недр (то есть быть реальной ошибкой и не про наш аргумент который извне).
вводить спец класс ексепшина? это решит проблему — можно кэтчить именно его, но кажется как-то не айс на каждый подобный кейс вводить спец класс ексепшина... или норм?

ещё вариант — в кэтче как-то понимать что AE именно изнутри самой GetThing а не глубже... как-то такое можно?...

и ещё вариант — у AE можно задать paramName и тогда в кэтче ловим и если имя параметра наше, то так и опознаём. уже лучше, но всё равно не 100%, остается слабая вероятность что из недр и имя параметра совпало.

было подобное? какое решение находили?..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.