加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 23:59:35 所属栏目:Java 来源:网络整理
导读:可以抛出也可以用来退出switch语句而不使用break关键字吗?为什么要使用投掷而不是休息? switch(number){ case 1: throw new RuntimeException("Exception number 1"); case 2: throw new RuntimeException("Exception number 2"); } 解决方法 有两种情况可
可以抛出也可以用来退出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");
     }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读