首页 > 编程语言 > 详细

Java基础06

时间:2021-09-15 12:19:36      阅读:16      评论:0      收藏:0      [点我收藏+]

异常

  1. 什么是异常
    1. 程序在运行的过程中出现的意外情况
    2. 异常的类型:
      1. 检查性异常:最具有代表的检查性异常是用户错误或问题引起的异常,程序员无法预见的异常
      2. 运行时异常:运行时异常是可能被程序员避免的异常,在编译时被忽略。
      3. 错误ERROR:错误不算异常,而是脱离程序员控制的问题,编译时被忽略。
  2. 异常体系结构
    1. Java将异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类
    2. Java异常分为两大类:ERROR和Exception(Exception一般是可预见的可处理的)
      技术分享图片
  3. Java异常处理机制
    1. 抛出异常
    2. 捕获异常
    3. 关键字:
      1. try,catch,finally,throw,throws
  4. 处理异常
public class Demo01 {
    public static void main(String[] args) {
        int a=1,b=0;
        //捕获多个异常时,要从小到大,向下写
        //快捷键ctrl+alt+T
        //异常被捕获,程序可以继续运行
        //catch中填写的是想要捕获的异常类型
        try {
//            System.out.println(a/b);
            new Demo01().test(a,2);
        }catch (ArithmeticException e){
            System.out.println(e);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
        }
    }
    //主动抛出异常
    public void test(int a,int b) throws Exception {
        if(b==0)
            System.out.println("hhhh");
        else
            System.out.println("aaa");
        System.out.println(a/b);
    }
}
  1. 自定义异常
package com.gaopeng.exception;

public class MyException extends Exception{
    private int a;
    public MyException() {
        super();
    }
    public MyException(int a) {
        this.a = a;
    }

    @Override
    public String toString() {
        return "MyException{" +
                "a=" + a +
                ‘}‘;
    }
}
package com.gaopeng.exception;

public class Test {
    public static void main(String[] args){
        try {
            new Test().a();
        } catch (MyException e) {
            System.out.println(e);
        } catch (Exception e) {
            System.out.println(e);
        } finally {
        }
        System.out.println(1/0);
    }
    public void a() throws MyException {
        throw new MyException(1);
    }
}

  1. 总结
    1. 处理运行时异常,采用合理的逻辑规避,同时辅助try-catch处理
    2. 在多重catch块后面,可以加上一个catch(Exception)来处理可能会被遗漏的异常(或者Throwable)
    3. 对于不确定的代码,也可以加上try-catch,处理潜在的异常
    4. 尽量的处理异常,切记知识打印输出
    5. 具体的异常处理,根据实际情况而定
    6. 尽量添加finally语句块释放占用的资源

Java基础06

原文:https://www.cnblogs.com/Gpengbolg/p/15270405.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!