黑马程序员技术交流社区

标题: 异常 [打印本页]

作者: 郑小杰    时间: 2012-7-11 21:17
标题: 异常
class Demo
{
public void method()
{
  throw new Exception();
}
}
//上边的代码编译不能通过,函数内抛,函数外需要标识,标识什么啊?
class Demo
{
public void method()
{
  try
  {
   throw new Exception();//问题在内部被解决,
  }
  catch (Exception e)
  {
  
  }
  
}
}
//编译可以通过,因为问题在内部解决,解决了不用再外边声明,没解决需要声明,什么啊?


作者: 陈淑飞    时间: 2012-7-11 21:22
不解释,这个问题。你可以跳到异常那节视频上看看,就清楚了。

很easy 的了。
作者: 陆强强    时间: 2012-7-11 21:48
本帖最后由 陆强强 于 2012-7-11 21:50 编辑

方法里面throw就是把异常抛给调用者。
public void method() throws Exception//这里throws就是声明
{
  throw new Exception();
}
}

而try再catch就是抓住异常自己处理了,
try
  {
   throw new Exception();
  }
  catch (Exception e)
  {
  //什么也不写,这也是一种处理方式。叫无视异常。如果catch这里再throw一下就是又抛给调用者,和第一个例子一样了
  }

作者: 王超    时间: 2012-7-11 23:10
1,函数体内抛出异常,如果没有捕捉,需要在函数上声明该异常(RuntimeException可以不用声明,编译一样通过)
2,函数体内抛出异常,已经try,catch了,所以不用在函数体声明也可以编译通过
作者:  夜风    时间: 2012-7-11 23:33
throws声明2楼3楼回答全面




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