java - 如何在 Java 中声明无法访问的代码?
问题描述
我在一个switch
语句中有一个复杂的情况,它(碰巧)总是突然终止(返回,或中断或......)。我想放一些类似 lint 的 /*UNREACHABLE*/
声明,以便向任何阅读代码的人表明它不会落入下一个案例(Java 中的一个常见错误)。我正在寻找一种更正式的方式来表明这一点,理想情况下,如果它不是无法访问的话会导致编译器警告或错误。有任何想法吗?
switch (x) {
case 1:
if (...) {
switch (.) {
...
}
} else {
...
}
/*UNREACHABLE*/
case 2:
...
}
该代码是真正无法访问的,Java 编译器知道它是,所以我不能在那里放置任何(正常)代码,因为它会被编译器标记为无法访问的代码。
解决方案
如果您愿意接受狂野的黑客攻击,您可以case
在有效的 s 之间插入未使用的 s:
switch (x) {
case 1:
if (...) {
switch (.) {
...
}
} else {
...
}
case -1:
/*UNREACHABLE*/
throw new RuntimeException("nope");
case 2:
...
}
我个人认为我不会使用它,但它应该可以工作。
推荐阅读
- algorithm - 找到10 ^ 5阶完整图的EMST的最简单,最简单的算法是什么
- progressive-web-apps - Workbox 无法识别根 url 正则表达式 /^\/$/ 添加到导航后备黑名单
- spring-boot - Spring boot Controller 为所有请求重用相同的 HttpServletRequest 安装(部署在 Tomcat 上)
- javascript - Javascript将变量和elementId传递给函数
- python - 替换照片的所有颜色,除了现有的黑白像素
- java - 如何使用集成测试获得 servlet 的代码覆盖率
- dart - 当我们导航到新屏幕时,Flutter 底部导航栏应该消失
- karate - 空手道:从 JSON 文件中的嵌入式表达式动态输入值
- javascript - 使用 JavaScript 未触发嵌入图标的链接
- sorting - 在 golang 中对切片进行排序