У меня есть фрагмент кода, который проверяет, доступна ли сеть, и машина находится в домене AD (два, если проверяет в && конфигурации). Другая сторона медали, у меня есть еще заявления для каждого условия. Здесь я добавляю соответствующие исключения, если они недоступны (я не ожидаю, что машина не будет находиться в домене и т. Д., Это не обычное событие и т. Д.).
Проблема в условиях гонки. Я испытал несколько условий гонки, поэтому они заслуживают внимания. В этом случае после проверки сеть может выйти из строя, и в этом случае произойдет сбой кода, поэтому мне нужны блоки catch. Но тогда блоки перехвата будут ловить исключения того же типа, что и те, что были сгенерированы в блоках else (тех, которые не связаны с доменом или сетью).
Является ли это (те же типы исключений в блоках else и catch) запахом кода или совершенно хорошим кодированием?
РЕДАКТИРОВАТЬ: мой код такой:
if (networkIsAvailable && MachineOnDomain) { }
else if !(networkIsAvailable) { throw new networknotavailablexception... }
else if !(machineNotOnDomain // you get the idea
Это окружено try-catch, перехватывающим те же типы исключений.
Спасибо