Java学习笔记-异常

一,前言

之前工作的时候,有总结过几种异常,但现在。。全忘记了,原谅我这3s的记忆,特此再mark下,好记性真的不如烂笔头

 

二,异常

异常是程序中经常会用到的代码,所谓异常就是不满足代码运行的结果,抛出错误的一种行为,而这种行为处理又可以分为两种处理方式,1是捕获异常,也就是try..catch..finally,2是不处理,直接抛出异常,让用户自行定位问题原因。

在Java中,所有异常类的父类是Throwable类,Error类是error类型异常的父类,Exception类是exception类型异常的父类,RuntimeException类是所有运行时异常的父类,RuntimeException以外的并且继承Exception的类是非运行时异常。

 

2.1 系统异常

  • NullPointerException(最最常见的异常,俗称NPE)
  • IndexOutOfBoundsException
  • IllegalArgumentException
  • IOException
  • SQLException
  • ........

系统异常很多,但常见的就那几个,一般情况下,系统异常用来排查问题和捕获异常,使程序可以继续往下走,这就涉及到前面提到的try..catch..finally结构了,

 

2.2 自定义异常

一般情况下,自定义异常类会继承RuntimeException类或者Exception类

格式:

       public class XXException extends Exception|RuntimeException{

          添加一个空参数的构造方法

          添加一个带异常信息的构造方法

}

注意:

       1.自定义异常类一般是以Exception结尾,说明该类是一个异常类

        2.自定义异常类,必须继承Exception或者RuntimeException

              继承Exception:那么自定义的异常类就是一个编译期异常,如果出现了编译期异常就必须处理,要么throws ,要么try catch

              继承RuntimeException:那么自定义的异常就是一个运行期异常,无需处理,交给虚拟机处理,中断处理。

 

例子:

public class BaseException extends RuntimeException {
    public BaseException() {
        super();
    }

    public BaseException(String message, Throwable cause) {
        super(message, cause);
    }

    public BaseException(String message) {
        super(message);
    }

    public BaseException(Throwable cause) {
        super(cause);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值