java -- 异常处理(2)

java ---异常处理(2)

3,将异常抛给调用者,让调用者去处理异常。throws(不建议这种处理方式)

   案例:

class Father

{

   privateSon son= null;

   

   publicFather()

   {

    son = new Son();

   }

   

   publicvoid  test1()

   {

    System.out.println("1");

    son.test2();

   }

}

 

class Son

{

   publicvoidtest2()

   {

    FileReader fr = new FileReader("d:\\dd.text");

   

   }

}

从这个程序来看,Son中的方法显然是打不开这个文件的,所以此时,将这个异常抛出,由调用者来,如果是父亲调用,那么就是父亲类解决问题,如果父亲不解决,那么就是java虚拟机处理这个问题,但是只是报错,不会说错误在哪里。

父亲解决方案

class Father

{

   privateSon son= null;

   

   publicFather()

   {

    son = new Son();

   }

   

   publicvoid  test1()

   {

    System.out.println("1");

    try{

   

       son.test2();

    } catch(Exception e){

        System.out.println("父亲处理");

        e.printStackTrace();

    }

   

   }

}

 

class Son

{

   publicvoidtest2() throwsException

   {

    FileReader fr = new FileReader("d:\\dd.text");

   

   }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值