Какое исключение выбросить, если теоретически до ветки невозможно добраться? [дубликат]C#

Место общения программистов C#
Anonymous
Какое исключение выбросить, если теоретически до ветки невозможно добраться? [дубликат]

Сообщение Anonymous »

Как в этом примере:

Код: Выделить всё

public MatchResult GetResult(int home, int away)
{
if ( home == away )
return MatchResult.Draw;
else if ( home > away )
return MatchResult.HomeWins;
else if ( home < away )
return MatchResult.AwayWins;

throw new Exception("Should be impossible");
}
Я знаю, что могу исправить это с помощью else для последнего оператора, но я часто предпочитаю быть явным. Конечно, это упрощенная ситуация для примера.

Далее: причина, по которой компилятор выдает не все пути кода, возвращающие значение, потому что ситуация слишком сложна для компилятора или по другим причинам (например, мы можем теоретически изменить значение home на полпути с помощью неуправляемого кода из другого потока или что-то в этом роде?)

Подробнее здесь: https://stackoverflow.com/questions/455 ... e-to-reach

Вернуться в «C#»