关于异常处理机制的问题

关于异常处理机制的问题

我记得是在try catch finally代码块中不管发生什么情况finally代码块的内容都会被执行,那这样如果要解析07版的话,进入finally代码块就返回了啊,下面解析07版的代码不就不会执行了吗?困惑中......

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

如下图所示,在finally代码块中,我们对doc判断是否为null,如果不为null,则关闭流返回result。

http://img1.sycdn.imooc.com//climg/5b28d9f300019d6b04720259.jpg

但是代码根本就没执行到retrun result,因为抛出异常之后doc为null所以上图标记的代码并不会执行,而会执行解析07版word的代码,最后建议同学在遇到问题时,可以在自己的环境中进行调试,毕竟学练结合才能使知识掌握的更牢固,你可以在异常中对doc进行打印,看是否为null。

http://img1.sycdn.imooc.com//climg/5b28dad000013d8305240186.jpg

输出结果:

http://img1.sycdn.imooc.com//climg/5b28da740001ad9202520061.jpg

如果我的建议解决了你的问题,请采纳,祝学习愉快~

  • senqing 提问者 #1
    谢谢!
    2018-06-20 10:41:36
chrismorgen 2018-06-19 17:07:57

在视频中finally代码块中并没有返回result,它只是将流关闭了。如果抛出的是下图异常会继续执行解析07版word的代码。如果我的建议解决了你的问题,请采纳,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5b28c688000163e507760079.jpg

  • 提问者 senqing #1
    视频最后20秒的存在问题和解决方案,我看解决方案里在finally代码块里写的就是return result;
    2018-06-19 17:21:12
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师