常见的异常有哪些?
<1>运行时异常:
RuntimeException
代码运行过程中遇到的异常;没有强制处理的必要性;
<2>ArrayIndexOutOfBoundsException
数组下标越界异常;
<3>NullPointerException
空指针异常;
<4>ArithmeticException
算术异常;
运行时异常不强制要求捕获和抛出!!!
JVM 会处理RuntimeException ,也就是告知异常的前因后果!!!
其他异常:
强制要求处理,不过是捕获处理,还是抛出处理,都需要进行操作;
如果未处理!!! 直接报错;
如何自定义异常?
自定义异常 private final static Person(){}
【格式】
class MyException extends Exception {
//无参构造方法
public MyException(){}
//有参数构造方法,且参数数据类型为String类型
Public MyException(String message){
super(message);
}
}
代码示例:
class MyException extends Exception {
//无参构造方法
public MyException(){}
//有参数构造方法,且参数数据类型为String类型
//message 异常信息
public MyException(String message){
//通过super() 关键字调用父类的参数为String 类型的构造方法
super(message);
}
//【注意】
}
class Member {
public static void main(String[] args) throws MyException {
//抛出自定义的异常
throw new MyException("单身的小哈");
}
}
异常小总结
<1>异常存在的必要性,代码中使用的数据,大多数来源于用户,具有非常大的不可靠性;必须要有错误意识,错误返回机制和处理机制;
<2>异常的处理方式 捕获 抛出 要根据具体的使用情况,来选择操作方式;
<3>自定义异常,了解异常信息保存的方式;了解如何进行自定义;