自定义异常基本概念
当程序中出现了某些“错误”,但该错误信息并没有在Throwable子类中描述处理,这个时候可以自己设计异常类,用于描述该错误信息。
自定义异常的步骤
- 定义类:自定义异常类名(程序员自己写)继承Exception或RuntimeException
- 如果继承Exception,属于编译异常
- 如果继承RuntimeException,属于运行异常(一般来说,继承RuntimeException)
自定义异常的应用实例 [CustomException.java]
- 当我们接受Person对象年龄时,要求范围在 18 - 120 之间,否则抛出一个自定义异常(要求 继承RuntimeException),并给出提示信息。
举例
package com.tao.customexception_;
public class CustomException {
public static void main(String[] args) {
int age = 80;
if(!(age > 18 && age <= 120)){
throw new AgeException("年龄需要在 18 - 120之间");
}
System.out.println("你的年龄范围正确");
}
}
class AgeException extends RuntimeException{
public AgeException(String message){
super(message);
}
}
throw 和 throws 的区别
| 意义 | 位置 | 后面跟的东西 |
---|
throws | 异常处理的一种方式 | 方法声明处 | 异常类型 | throw | 手动生成异常对象的关键字 | 方法体中 | 异常对象 |
进入方法A
用A方法的finally
制造异常(创造异常对象)
进入方法B
调用B方法的finally
|