java – 可以在switch语句中使用throw而不是break吗?

前端之家收集整理的这篇文章主要介绍了java – 可以在switch语句中使用throw而不是break吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
可以抛出也可以用来退出switch语句而不使用break关键字吗?为什么要使用投掷而不是休息?
switch(number)
{
    case 1:
        throw new RuntimeException("Exception number 1");
    case 2:     
        throw new RuntimeException("Exception number 2"); 
}

解决方法

有两种情况可以使用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");
     }
}

猜你在找的Java相关文章