黑马程序员技术交流社区

标题: 异常处理问题 [打印本页]

作者: 邹海洋    时间: 2012-10-19 10:37
标题: 异常处理问题
本帖最后由 邹海洋 于 2012-10-30 14:58 编辑

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

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

3.try{}
  finally{}

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




作者: 程杰    时间: 2012-10-19 10:44
我的理解:正常的代码卸载try{}里。而catch{}里面写try{}中程序可能遇到的异常信息,或者直接向上throw异常。最后finally{}中的代码是一定会执行的,一般写的是关闭连接什么的
作者: 邹海洋    时间: 2012-10-19 10:48
程杰 发表于 2012-10-19 10:44
我的理解:正常的代码卸载try{}里。而catch{}里面写try{}中程序可能遇到的异常信息,或者直接向上throw异常 ...

嗯 对的 呵呵 正在看异常的视频,发个帖巩固一下记忆,顺便看能不能赚点技术分 呵呵
作者: 李贺晓    时间: 2012-10-19 10:59
Finally代码块:定义一定执行的代码。通常用于关闭资源;catch是用于处理异常,没有catch就代表异常没有被处理过,如果该异常是检测时异常,那么必须声明
函数如果声明了异常,用者需要进行处理,处理方式可throws可try
作者: 给生活加点料    时间: 2012-10-19 17:28
顶楼上的!
作者: 新立    时间: 2012-10-21 01:29
也不完全对啊,如果异常是RuntimeException就不用了,
作者: 邹海洋    时间: 2012-10-21 05:54
新立 发表于 2012-10-21 01:29
也不完全对啊,如果异常是RuntimeException就不用了,

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

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2