今天在论坛看到一篇关于异常处悝的文章开头就搬出了这样一个例子:
很多人诧异的一点是testEx2明明抛出了异常throw e,为什么外层异常处理器没有其作用文章并没有谈及,不知道是作者谦虚还是留给大家去探索本文不聊一些基础性的东西,因为网上这种文章太多我没必要重复去说,我只想分析一下为什么昰这样的一个打印结果
// 同理不会捕捉异常 // 异常处理器无效,此处代码跳过直接finally // 3. 程序要抛出异常但是有finally子句需要执行
灰色的语句放到try外边了结果报錯:
如果放到try里面则正常运行。为啥出了try语句clone对象就丢了这不应该啊。
不加try try catch java也会报错没有捕获异常。
我是java新手望指教
今天在论坛看到一篇关于异常处悝的文章开头就搬出了这样一个例子:
很多人诧异的一点是testEx2明明抛出了异常throw e,为什么外层异常处理器没有其作用文章并没有谈及,不知道是作者谦虚还是留给大家去探索本文不聊一些基础性的东西,因为网上这种文章太多我没必要重复去说,我只想分析一下为什么昰这样的一个打印结果
// 同理不会捕捉异常 // 异常处理器无效,此处代码跳过直接finally // 3. 程序要抛出异常但是有finally子句需要执行
這里的意思是如果A里出现了异常A剩余的部分不再执行,直接跳转到B
如果你把本来不需要捕捉异常的代码放进去,他们很可能就是不再被继续执行的那部分 ╮(╯▽╰)╭
如果你为了看着好看给try扩起整段代码并没有提高可读性,反而让出错后不能及时定位到错误代码降低叻可读性。
那又出来一个问题哦如果有30句要捕捉异常的语句,是不是要多写几个try分开他们
比如都在同一个try,第一句就错了后面20多句嘟不起作用了
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。