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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© youngster 中级黑马   /  2013-6-2 19:32  /  1213 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

现在要实现这么一个例子
有class A和class B,A中有方法a,B中有方法b,b方法抛出异常,a方法调用b抛出异常
现有一个类为TestC,有一个方法为c ,请在这个方法中捕捉异常的信息。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

2 个回复

倒序浏览
不太清楚楼主的需要,随便按时间理解些了个。
说下思想:就是把异常一层一层往上跑,最好你想在哪层捕获异常即可。
  1. package itheima.test;

  2. public class Test1 {
  3.         public static void main(String[] args) {
  4.                 Test1 t=new Test1();
  5.                 try{
  6.                         t.c();
  7.                 }catch (Exception e) {
  8.                         e.printStackTrace();
  9.                 }
  10.                
  11.                
  12.         }
  13.         public void c() throws Exception{
  14.                         Test1.B b=new Test1().new B();
  15.                         b.b();
  16.         }
  17.         class A{
  18.                 public void a() throws Exception{
  19.                         throw new IllegalArgumentException("初始化异常");
  20.                 }
  21.         }
  22.         class B{
  23.                 public void b()throws Exception{
  24.                         A a=new A();
  25.                         a.a();
  26.                 }
  27.         }
  28. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
  1. package test;

  2. public class Test {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {

  7.                 new TestC().c();
  8.         }
  9. }


  10. class A{
  11.         public void a() throws Exception{
  12.                 new B().b();
  13.         }
  14. }

  15. class B{
  16.         public void b()throws Exception{
  17.                 throw new Exception("Exception b");
  18.         }
  19. }

  20. class TestC{
  21.         public void c(){
  22.                 try{
  23.                         new A().a();
  24.                 }catch(Exception e){
  25.                         System.out.println(e.getMessage());
  26.                 }
  27.         }
  28. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马