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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天蝎降降温 中级黑马   /  2014-10-4 00:11  /  1420 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1

查看全部评分

7 个回复

倒序浏览
为什么输出语句有问题?
回复 使用道具 举报
我在主方法里面调用了a方法,并且捕获了异常,为什么不能执行。
回复 使用道具 举报
因为那句话放在单独的throw语句后面,程序执行到throw语句之后直接就抛了异常了,后面的都不执行了。所以那句话肯定执行不到的,所以错了。编译的时候应该会提醒你语句执行不到的吧?
回复 使用道具 举报
  1. package com.itheima;

  2. /***
  3. * 7、 有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个方法a,请在这个方法中调用b,
  4. * 然后抛出异常。在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕捉异常的信息。完成这个例子,请说出java中针对异常的处理机制。
  5. *
  6. * @author 侯秀凯
  7. *
  8. */
  9. public class Test7 {
  10. public static void main(String[] args) {
  11.         /***
  12.          * java中的异常是
  13.          * 谁执行,谁处理,如果不想处理,就接着声明异常,往上抛
  14.          */
  15.         new TestC().c();
  16. }
  17. }
  18. class TestC{
  19.         public void c(){
  20.                 try{
  21.                         new A().a();
  22.                 }catch(Exception e){
  23.                         System.out.println("异常被我逮住了");
  24.                         e.printStackTrace();
  25.                 }
  26.         }
  27. }
  28. class A {
  29.         public void a() throws Exception{
  30.                 new B().b();
  31.         }
  32. }
  33. class B{
  34.         public void b() throws Exception{
  35.                 throw new Exception("我是方法b中的异常");
  36.         }
  37. }
复制代码


这是我的代码,参考下吧{:2_32:}

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1 赞一个!

查看全部评分

回复 使用道具 举报
Aaron_H 发表于 2014-10-4 04:34
这是我的代码,参考下吧

你的代码里,抛出异常之后,程序就停止运行了,输出语句没意义了,你把输出语句放在抛出异常的上面
回复 使用道具 举报
哈哈,我也看到问题原因了,已经抛出去异常了,下边的输出语句自然是访问不到的,Eclipse里应该有提示的吧???
回复 使用道具 举报
水竹 中级黑马 2014-10-5 21:52:22
8#
嘿,我先回答的给说对了不给技术分,人家随便粘贴个无关代码反倒得了分,幸好我换了亲友券。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马