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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class Demo
  2. {
  3. public void method()//throws Exception
  4. {
  5. try
  6. {
  7. throw new Exception();
  8. }
  9. catch (Exception e)
  10. {
  11. try //<FONT color=red>老师讲到这里时说能编译通过,说只要在catch中处理就能编译通过,结果我特意试了试不能通过,请问老师到底想说的是什么意思?再在catch中的catch中接收这个e处理吗?也试了,通过不了,求解释。
  12. </FONT>{
  13. throw e;
  14. }
  15. catch ()
  16. {

  17. }

  18. }

  19. }
  20. }

  21. class ExceptionDemo6
  22. {
  23. public static void main(String[] args)
  24. {
  25. Demo d = new Demo();
  26. d.method();
  27. }
  28. }
复制代码

4 个回复

倒序浏览
哥们,你15行的catch里什么都没有,写成 catch(Exception e),那样本来就是语法错误的,怎么会通过
回复 使用道具 举报
捕获常的第一步是用try{}选型捕获异常的范围,在执行过程中,由try所指定的代码中的语句会生成异常对象并被抛出。通常在一个try块后面跟一个或多个包含异常指针的catch块,来处理指定的异常。catch语句的参数类似于方法的声明,包括一个异常类型和一个异常对象。异常类型必须为Throwable类的子类,它指明了catch语句所处理的类型;异常对象则在运行时有系统在try所指定的代码块中生成并被捕获,大括号中包含对象的处理,其中可以调用对象的方法。
回复 使用道具 举报
古银平 发表于 2012-10-2 16:42
哥们,你15行的catch里什么都没有,写成 catch(Exception e),那样本来就是语法错误的,怎么会通过 ...

那你写成那样试试啊,我都说了写成那样也通过不了!因为前面已经接受了一个对象了,而老师说的是这样就能编译通过,视频上就是这么说的,所以我才很费解...
回复 使用道具 举报
王中利 发表于 2012-10-2 16:45
捕获常的第一步是用try{}选型捕获异常的范围,在执行过程中,由try所指定的代码中的语句会生成异常对象并被 ...

我问的不是这个意思,这些概念上的东西我也大致明白,只是老师在视频里说的按照上面的代码来写就能编译通过,他的意思是说“在catch块里嵌套了try、catch,try中对e对象抛出也算是进行处理了,这样就能编译通过,而我试过不能通过”
我想问的是这种嵌套如何解决才能像老师说的那样通过编译!(我试过catch已经没法再接收一个Exception e的对戏那个了)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马