• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

请大家帮我看看这个问题

我想问下我这个程序 为什么会输出  操作结束try {}catch(  ){}    当try.......catch 语句补捉到Myexception异常后 应该会终止运行才对啊!   除非在后面加上 finally {“操作结束‘}才可以输出  这里为什么会输出”操作结束“ ??

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与4

楼主你说的这句话“当try.......catch 语句补捉到Myexception异常后 应该会终止运行才对啊!”
这里你有一个理解错误:如果发生异常你不捕获, 程序才会卡在发生异常的地方,这里你捕获了,程序当然可以继续跑下去啊,否则捕获异常是为了什么呢?
出红字是因为e.printTrace(); 如果你把这行删掉或者换成System.out.println(e.getMessage()); 就没有红字异常了
关于finally: 如果你在try里加一句 int i = 1/0; 他就不会输出 操作结束了,程序会卡在这行代码上因为你并没有捕获除0异常,这个时候如果你加了finally在里边输出“操作结束”,重新跑程序可以输出“操作结束”了但是还是会有报错信息,因为 finally代码块你可以理解为:无论如何都要做里边的事

使用道具 举报

try{....inta=2/0;//发生异常....//得不到执行,跳出到catch块}catch(Exceptione)//匹配异常{//执行异常处理。}finally{//不管是否发生异常,finally块都会得到执行。}...//继续执行以下代码

使用道具 举报

谁说try catch 捕获到异常就会停止?捕获到了,因该处理,然后继续执行,程序才不会报错,不然跟不加try catch 有什么区别?

使用道具 举报

你捕获了,就会继续执行!

使用道具 举报

发新帖

发布任务需求已有1031164位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!