Всем привет!
хватит про политику, давайте про полезное)
кейс. есть функция GetThing, внутри проверяется её аргумент на валидность. если что не так — генерится ArgumentException (AE). пока всё ок.
теперь её надо заюзать например внутри хандлера рест-апи ендпойнта. хочется чтоб если извне пришедший аргумент для неё кривой — вернуть 400.
можно сделать кэтч для AE, но это может оказаться AE из более глубоких недр (то есть быть реальной ошибкой и не про наш аргумент который извне).
вводить спец класс ексепшина? это решит проблему — можно кэтчить именно его, но кажется как-то не айс на каждый подобный кейс вводить спец класс ексепшина... или норм?
ещё вариант — в кэтче как-то понимать что AE именно изнутри самой GetThing а не глубже... как-то такое можно?...
и ещё вариант — у AE можно задать paramName и тогда в кэтче ловим и если имя параметра наше, то так и опознаём. уже лучше, но всё равно не 100%, остается слабая вероятность что из недр и имя параметра совпало.