static int retIntExc() throws Exception{
int result = 1;
try {
result = 2;
throw new IOException("Exception rised.");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println(e.getMessage());
result = 3;
} finally {
return result;
}
}
我的一个朋友是.NET开发人员,目前正在迁移到Java,他问我有关此资源的以下问题。从理论上讲,这必须throw IOException("Exception rised.")
以及整个方法retIntExc()
必须throws Exception
。但是什么也没发生,该方法返回2。
我没有测试过他的例子,但是我认为这不是预期的行为。
编辑:感谢您的所有答案。你们中的有些人忽略了方法被称为的事实retIntExc
,这意味着这只是一些测试/实验html" target="_blank">示例,显示了投掷/接球机制中的问题。我不需要“修复”,我需要解释为什么会发生这种情况。
这就是为什么您不能从C#中的finally块返回的原因:)
不过,这绝对是Java语言规范中列出的行为。它在14.20.2节中指定。
如果finally块由于原因S突然完成,则try语句由于原因S突然完成(并且值V的抛出被丢弃并忘记了)。
返回是突然完成的一个例子。如果该finally
块引发异常,那么该异常 也会 突然完成,从而丢失原始异常。
上面的引文来自这组嵌套的项目符号点,省略了此处不适用的选项:
- 如果由于抛出值V而使try块的执行突然完成,则可以选择:
- 如果不能将V的运行时类型分配给try语句的任何catch子句的参数,则将执行finally块。然后有一个选择:
- 如果finally块由于原因S突然完成,则try语句由于原因S突然完成(并且值V的抛出被丢弃并忘记了)。
我真的哭死,我从八月末,到现在等了一周多!终于突然来了面试!啊啊啊啊!
网易雷火测开已offer 4.15 一面 二面连着来 4.16 三面 4.17 hr面,hr面了45分钟,拷打项目 4.26 邮箱收到offer 暑期实习一路艰辛,简历被挂的挂,面试被刷的刷,真太难了
我正在使用quickstart原型构建一个Jersey Moxy服务。我的代码运行良好,我可以得到一些JSON返回。然而,在我开发的过程中,如果我犯了一个错误,比如说请求处理程序有一个不支持的类型,我将得到一个空的500响应,这使得调试变得困难。例如,如果我用@XmlElementRef错误地修饰了一个属性,我将得到如下响应: 服务器将表现得好像什么都没发生一样: 我尝试使用日志配置文件: 这产生
1.自我介绍 2.是否有OFFER? 3.简历上有C语言,C的掌握如何 问了点和C相关的东西,数组越界,指针这些 4.软件测试的流程 5.功能测试都用什么方法? 6.项目内有兼容测试,兼容测试怎么做的? 7.有没有了解过单元测试,简要说说 8.用过 postman 做过接口测试吗,简要介绍一下 9.项目什么时候做的 10你有什么优点 我说了我的计划性强,比较细心,面试官问责任感和工作态度方面? 1
众安保险 Java暑期实习速通 4.23 约了4.24一面 4.24 早上一面完立马约了4.24下午二面 4.25 早hr面 4.28 offer 其他大厂简历挂、一面挂、二面挂,没机会了,开摆了#晒一晒我的offer#
Java 双非硕 无实习 男 boss上沟通120+,官网投了150家,90%投的成都中小厂,除接受的offer,进面12家,oc和gg各一半,最猛的一天面试3场+笔试2场 秋招中途经历了亲人去世,也撞上论文返修,哭了好多次,不面试之后精神面貌真的好了很多 最后去了同程,base成都,分享一下面经,祝各位双非兄弟也早日脱离苦海😭😭😭 #晒一晒我的offer# 一面 9-27 - 项目有哪些板