java---异常

  1. 什么时异常?
    异常指的时程序在【编译】和【运行时】的一些不正常的状况。 Java的工程师其实早就想到可能会出现这些问题,他们把常见的问题写成类。 当我们出现这些异常时,可以根据API中去查找这些异常产生的原因。
    ArrayIndexOutOfBoundsException: 数组索引越界异常
    NullPointerException: 空指针异常

  2. 异常的体系结构?
    异常的根类Throwable,它下面有两个子类Error和Exception
    Throwable
    – Error: 非常严重的问题(错误,不需要解决)
    – Exception: 表示异常(可以解决)
    –Exception的直接子类:编译时异常,在编译时给出错误提示
    –RuntimeException的子类:运行时异常,在运行时打印在控制台(异常信息)

  3. 如何处理异常?
    3.1:不做任何处理,就是交给JVM处理
    特点:直接终止程序运行,把异常信息打印在控制台

    3.2:使用 try … catch 处理:
    特点:把可能出现异常的代码包裹起来,即使有异常产生,【代码还能继续执行】
    try{
    //有可能出现异常的代码
    }catch(异常类1 e1){
    //如果try有异常产生,就会被catch捕获到,就执行catch里面的代码
    }catch(异常类2 e2){

    }catch(Exception e3){
    //不管try里面有什么异常,这里都可以捕获
    }finally{
    //不管前面异常是否产生,finally里面的代码都回执行
    }

    3.3:使用 throws 声明异常:
    //在写一个方法时,方法中可能产生异常,需要使用throws声明。
    public static void show(String s) throws 异常类{
    //在方法中,可能由于调用者传递的参数不争气,导致代码出现异常。
    }

4.Throwable的方法
Throwable类中提供了一些方法,所有的异常对象都能调用。
public String toString()
把异常对象转换为字符串,有 “异常常类名:异常的解释”
public String getMessage()
获取异常对象的解释(消息),就是异常信息”:"后面的一部分
public void void printStackTrace()
打印异常的所有信息,包含异常的类名+异常的解释(消息)+异常的位置

  1. 如果产生一个异常?
    //在写一个方法时,由于不能确定调用者传递的参数是否正确,所以在方法内部需要对参数进行有效性的校验
    //如果不符合要求,就给调用者产生一个异常。
    public static void method(参数) throws 异常类{
    if(参数校验){
    //产生一个异常
    throw new 异常对象(); //如果产生的是编译时异常,就需要在方法上声明
    }
    //一般API中的方法,在正式执行方法功能代码之前,会做很多有效性的校验(丑话说在前头)
    }

  2. 自定义异常?
    异常类其实就是描述问题的类,如果API中给你提供的异常类不足以描述的你的问题,你就可以自定义异常类。
    如何自定义:
    1) 第一步:写一个类继承Exception类或者RuntimeException
    ps: 异常的类名要见名知意,最好能够足以说明产生异常的问题原因
    2) 第二步:写两个构造方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值