为了账号安全,请及时绑定邮箱和手机立即绑定

调用者aaaaaa

捕获到的异常,可以在当前方法的 catch 块中处理,也可抛出给调用者去处理D错误,调用者是谁啊?

正在回答

2 回答

以下面这个程序为例,(老师讲的那个),比如test1( ),它被test2( )调用,它抛出的异常给test2()处理,test1( )的调用者是test2( ),你看test2()怎么处理的,当然是test2( )中的try-catch块处理,它把test1()抛出的异常又封装成了一个新的的异常。在比如test2(),它在被主函数调用时发生了异常,但是它产生的异常没有被抛出,而是直接被main函数里的try-catch捕获了,它的调用者是main。

public class ExceptionDemo2 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  ExceptionDemo2 demo = new ExceptionDemo2();
  try {
   demo.test2();
  } catch (Exception e) {
    // TODO Auto-generated catch block
   e.printStackTrace();
  }
   
 }
 public void test1() throws FatException  {
  throw new FatException("开车别喝酒");
 }
 public void test2() {
  try {
   test1();
  } catch (FatException e) {
   RuntimeException runt = new RuntimeException("本代码敲于2018年12月23日");
   //RuntimeException runt = new RuntimeException("本代码敲于2018年12月23日");
   runt.initCause(e);
   // TODO Auto-generated catch block
   throw runt;
  }
 }

}


0 回复 有任何疑惑可以回复我~

调用者就是另一个try-catch块啊,就是说当前抛出的异常做为引发另一个异常的条件,只有异常才能处理异常嘛,不然异常没法处理。所以调用者肯定是另一个try-catch块

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

调用者aaaaaa

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信