Throwable类

  1. toString() 输出该异常的类名
  2. getMessage() 输出异常的信息,需要通过构造方法传入异常信息(例如病态信息)
  3. printStackTrace() 打印栈信息

    class Demo {

     

    public static void main(String[] args) {

     

    // Throwable able=new Throwable();

    Throwable able = new Throwable("想吐。。。");

    System.out.println(able.toString()); // 输出该异常的类名

    System.out.println(able.getMessage()); // 输出异常的信息

    able.printStackTrace(); // 打印栈信息

    }

    }

  4. 总结

    1. 程序中有多个语句可能发生异常,可以都放在try语句中。并匹配对个catch语句处理
    2. 如果异常被catch匹配上,接着执行try{}catch(){} 后的语句。没有匹配上程序停止。
    3. try中多个异常同时出现,只会处理第一条出现异常的一句,剩余的异常不再处理。
    4. 使用多态机制处理异常。
      1. 程序中多态语句出现不同异常,出现了多个catch语句。简化处理(相当于急诊)
      2. 使用多态,使用这些异常的父类进行接收。(父类引用接收子类对象)

        1.1.1 抛出处理

        定义一个功能,进行除法运算例如(div(int x,int y))如果除数为0,进行处理。

        功能内部不想处理,或者处理不了。就抛出使用throw new Exception("除数不能为0"); 进行抛出。抛出后需要在函数上进行声明,告知调用函数者,我有异常,你需要处理如果函数上不进行throws 声明,编译会报错。例如:未报告的异常 java.lang.Exception;必须对其进行捕捉或声明以便抛出throw  new Exception("除数不能为0");

        public static void div(int x, int y) throws Exception { // 声明异常,通知方法调用者。

         

        if (y == 0) {

        throw new Exception("除数为0"); // throw关键字后面接受的是具体的异常的对象

        }

        System.out.println(x / y);

        System.out.println("除法运算");

        }

      3. 5main方法中调用除法功能

        调用到了一个可能会出现异常的函数,需要进行处理。

        1:如果调用者没有处理会编译失败。

        如何处理声明了异常的函数。

        1try{}catch(){}

         

        public static void main(String[] args) {

         

        try {

        div(2, 0);

        } catch (Exception e) {

        e.printStackTrace();

        }

        System.out.println("over");

         

        }

         

        public static void div(int x, int y) throws Exception { // 声明异常,通知方法调用者。

         

        if (y == 0) {

        throw new Exception("除数为0"); // throw关键字后面接受的是具体的异常的对象

        }

        System.out.println(x / y);

        System.out.println("除法运算");

        }

        }

转载于:https://www.cnblogs.com/wbh-hello/p/5972832.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值