Jer*_*rry 8 java oop exception throw
可以抛出也可以用来退出switch语句而不使用break关键字吗?为什么要使用投掷而不是休息?
switch(number)
{
case 1:
throw new RuntimeException("Exception number 1");
case 2:
throw new RuntimeException("Exception number 2");
}
Run Code Online (Sandbox Code Playgroud)
Mak*_*oto 12
在两种情况下,您可以使用a throw来中断交换机的流量:
流量控制 ; 一般来说,这是一种不好的做法 - 您不希望出现特殊行为来决定您的计划下一步决定去哪里.
不太可能但似乎合理的默认情况 ; 如果你打在达到预设的条件应该是不可能,却发生了.不知何故.不可思议的.或者,如果您有严格的编码标准,则要求switch语句具有默认情况.
例:
public class Test {
public static enum Example {
FIRST_CASE,
SECOND_CASE;
}
public void printSwitch(Example theExampleCase) {
switch(theExampleCase) {
case FIRST_CASE:
System.out.println("First");
break;
case SECOND_CASE:
System.out.println("Second");
break;
default: // should be unreachable!
throw new IllegalStateException(
"Server responded with 724 - This line should be unreachable");
}
}
Run Code Online (Sandbox Code Playgroud)throw您可以在块中使用switch,但这不是良好的编码/设计实践。throw旨在控制代码中的异常/错误情况,而不是控制指令的执行。
尽管您可以throw在 中使用switch,但我建议不要在 中使用它switch。:)