一文吃透异常
来源于 跟着韩老师学java,https://www.bilibili.com/video/BV1fh411y7R8
一张图了解异常(非常重要)
常见的运行时异常
- NullPointerException 空指针异常
- ArithmeticException 数学运算异常
- ArrayIndexOutOfBoundsException 数组下标越界异常
- ClassCastException 类型转换异常
- NumberFormatException 数字格式不正确异常
常见的编译异常
异常处理方式
1. try-catch-finally的处理机制
注意:
2. throws处理机制
注意
3. 自定义异常
1. 概念
2. 自定义异常的步骤
注意
throw 和 throws 的区别
自定义异常举例
package com.hspedu.customexception_;
public class CustomException {
public static void main(String[] args) /*throwsAgeException*/ {
int age = 180;
//要求范围在 18 – 120 之间,否则抛出一个自定义异常
if(!(age >= 18 && age <= 120)) {
//这里我们可以通过构造器,设置信息
throw new AgeException("年龄需要在 18~120 之间");
}
System.out.println("你的年龄范围正确.");
}
}
//自定义一个异常
//老韩解读
//1. 一般情况下,我们自定义异常是继承 RuntimeException
//2. 即把自定义异常做成 运行时异常,好处时,我们可以使用默认的处理机制
//3. 即比较方便
class AgeException extends RuntimeException {
publicAgeException(String message) {//构造器
super(message);
}
}