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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑小杰 中级黑马   /  2012-7-11 21:17  /  1707 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Demo
{
public void method()
{
  throw new Exception();
}
}
//上边的代码编译不能通过,函数内抛,函数外需要标识,标识什么啊?
class Demo
{
public void method()
{
  try
  {
   throw new Exception();//问题在内部被解决,
  }
  catch (Exception e)
  {
  
  }
  
}
}
//编译可以通过,因为问题在内部解决,解决了不用再外边声明,没解决需要声明,什么啊?

点评

异常那一段的视频有详细介绍哦,很简单的问题。  发表于 2012-7-12 08:43

4 个回复

倒序浏览
不解释,这个问题。你可以跳到异常那节视频上看看,就清楚了。

很easy 的了。
回复 使用道具 举报
本帖最后由 陆强强 于 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一下就是又抛给调用者,和第一个例子一样了
  }
回复 使用道具 举报
1,函数体内抛出异常,如果没有捕捉,需要在函数上声明该异常(RuntimeException可以不用声明,编译一样通过)
2,函数体内抛出异常,已经try,catch了,所以不用在函数体声明也可以编译通过
回复 使用道具 举报
throws声明2楼3楼回答全面
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马