如何用Java声明无法访问的代码?

时间:2019-05-27 17:15:35

标签: java

我在switch语句中遇到了一个复杂的情况,即(总是发生)总是突然终止(带有return,break或...)。我想添加诸如lint的/*UNREACHABLE*/声明之类的内容,以指示任何阅读该代码的人都不会遇到下一种情况(Java中的常见错误)。我正在寻找一种更正式的方式来表明这一点,理想情况下,如果不是无法访问,可能会导致编译器警告或错误。有什么想法吗?

    switch (x) {
        case 1:
           if (...) {
             switch (.) {
                ...
             }
           } else {
             ...
           }
           /*UNREACHABLE*/
        case 2:
           ...
    }

代码是真正无法访问的,Java编译器知道它是,所以我不能在其中放置任何(正常)代码,因为编译器会将其标记为无法访问的代码。

1 个答案:

答案 0 :(得分:1)

如果您愿意接受野蛮的攻击,则可以在有效的case之间插入未使用的switch (x) { case 1: if (...) { switch (.) { ... } } else { ... } case -1: /*UNREACHABLE*/ throw new RuntimeException("nope"); case 2: ... }

{{1}}

我个人认为我不会使用它,但是应该可以。