A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邹海洋 中级黑马   /  2012-10-19 10:37  /  2133 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 邹海洋 于 2012-10-30 14:58 编辑

try的三种组合
1.try{}
  catch(){}

2.try{}
  catch(){}
finally{}

3.try{}
  finally{}

函数上是否需要声明异常,由函数内是否有catch决定



评分

参与人数 1技术分 +1 收起 理由
杨志 + 1

查看全部评分

7 个回复

倒序浏览
我的理解:正常的代码卸载try{}里。而catch{}里面写try{}中程序可能遇到的异常信息,或者直接向上throw异常。最后finally{}中的代码是一定会执行的,一般写的是关闭连接什么的
回复 使用道具 举报
程杰 发表于 2012-10-19 10:44
我的理解:正常的代码卸载try{}里。而catch{}里面写try{}中程序可能遇到的异常信息,或者直接向上throw异常 ...

嗯 对的 呵呵 正在看异常的视频,发个帖巩固一下记忆,顺便看能不能赚点技术分 呵呵
回复 使用道具 举报
Finally代码块:定义一定执行的代码。通常用于关闭资源;catch是用于处理异常,没有catch就代表异常没有被处理过,如果该异常是检测时异常,那么必须声明
函数如果声明了异常,用者需要进行处理,处理方式可throws可try

点评

应该是可 throw (没有s)可try。。throws是声明异常类  发表于 2012-10-28 07:34

评分

参与人数 1技术分 +1 收起 理由
邓艳秋 + 1

查看全部评分

回复 使用道具 举报
顶楼上的!
回复 使用道具 举报
也不完全对啊,如果异常是RuntimeException就不用了,
回复 使用道具 举报
新立 发表于 2012-10-21 01:29
也不完全对啊,如果异常是RuntimeException就不用了,

恩嗯 如果是RuntimeException,程序会停止
回复 使用道具 举报
Java对于异常的处理机制有两种处理方式:
一种是对异常进行声明,另一种是对异常进行捕获处理。
但是对于runtime运行时异常,在编译时没有错误,但是在运行时不必声明和捕获处理,
它会被虚拟机报错抛出,出现程序错误,被系统调用时报错。
而对于非runtime异常,则可以进行抛出或者捕获。
当用  throw 抛出异常对象实例时,就要在方法后 做throws 声明。

而做 try。。。catch。。。捕获异常处理时,也可以在函数上对异常进行声明,
并不是绝对的由catch决定是否声明。

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马