Глупо ли с моей стороны оставлять недостижимые операторы break в случае, который все равно просто выдает Exception? Защитная часть меня хочет оставить ее там на случай, если логика изменится. Другая часть меня не хочет, чтобы другие разработчики видели предупреждения компилятора в моем коде ("Обнаружен недостижимый код").
switch (someInt)
{
case 1:
// Do something
break;
case 2:
// Do something else
break;
case 3:
// Oh, we don't use threes here!
throw new Exception("Business rules say don't use 3 anymore");
break; // Unreachable...until the fickle business rules change...
default:
throw new Exception("Some default exception");
break; // Unreachable...until...well, you get the idea.
}
Что делать?
ОБНОВЛЕНИЕ
Я вижу несколько ответов, в которых говорится, что удаление броска на более позднем этапе вызовет ошибку компилятора. Однако простое удаление (или комментирование) броска без перерыва после него приведет к складыванию случаев, что может быть непреднамеренным поведением. Я не говорю, что это вероятный сценарий, но... ну, разве защитное программирование направлено на борьбу только с вероятными сценариями?