В Java: Какой код наиболее эффективен и почему?Лучшие практики ElseIf против исключения броска
if (x==1) {
....
} else if (x==2) {
....
} else if (x==3) {
....
} else if (x==4) {
....
}
... rest code here...
or
try {
if (x==1) {
...
throw MyException(1);
}
if (x==2) {
...
throw MyException(2);
}
if (x==3) {
...
throw MyException(3);
}
if (x==4) {
...
throw MyException(4);
}
} catch(MyException MEx) {
... rest code here ...
}
Большое спасибо!
Вы должны использовать переключатель, который вы знаете –
Возможно, использовать переключатель - но помните, что переключатели (и блоки кода, такие как вопрос ifs) являются плохим запахом кода. В этом случае то, что он, вероятно, хочет, - это поиск таблицы в структуре данных, но может потребоваться больше .. будет зависеть от того, что находится внутри {....}, но вы практически никогда не хотите видеть, блокируют ли они блоки else в списке. –
Может быть, это только я, но это кажется мне очень странным, когда стандартная функция любого языка в качестве переключателя помечена как «плохой запах кода». –