Java的自定义异常,throw和throws的对比
自定义异常基本概念:
当程序中出现了某些"错误",但该错误信息并没有在Throwable子类中描述处理,这个时候可以自己设计异常类,用于描述该错误信息
自定义异常的步骤:
1)定义类:自定义异常类名(程序员自己写) 继承Exception或RuntimeException
2)如果继承Exception,属于编译异常
3)如果继承RuntimeException,属于运行异常(一般来说,继承RuntimeException)
package com.exception_;
public class CustomException{public static void main(String[] args) {int age = 80;//要求范围在18-120之间if(!(age >= 18 && age <= 120)){//这里我们可以通过构造器设置.....throw new AgeException("年龄需要在18-120之间");}System.out.println("年龄范围正确.....");}
}
//应用实例:
//当我们接收Person对象年龄时,要求范围在18-120之间,否则抛出一个自定义异常
//要求 继承RuntimeException,并给出提示信息
//自定义异常
//解读:
//一般情况下,我们自定义异常是继承RuntimeException
//即 把自定义异常做成运行时异常
//好处是 我们可以使用默认的处理机制
class AgeException extends RuntimeException{public AgeException(String message) {//构造器super(message);}
}throw和throws的区别:
意义 位置 后面跟的东西
throw 异常处理的一种方式 方法声明处 异常类型
throws 手动生成异常对象的关键字 方法体中 异常对象
