Java - 异常 - 自定义异常、throw 与 throws 的区别

自定义异常基本概念

当程序中出现了某些“错误”,但该错误信息并没有在Throwable子类中描述处理,这个时候可以自己设计异常类,用于描述该错误信息。

自定义异常的步骤

  1. 定义类:自定义异常类名(程序员自己写)继承Exception或RuntimeException
  2. 如果继承Exception,属于编译异常
  3. 如果继承RuntimeException,属于运行异常(一般来说,继承RuntimeException)

自定义异常的应用实例 [CustomException.java]

  • 当我们接受Person对象年龄时,要求范围在 18 - 120 之间,否则抛出一个自定义异常(要求 继承RuntimeException),并给出提示信息。
举例
package com.tao.customexception_;

/**
 * Create By 刘鸿涛
 * 2021/12/31 21:34
 */
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("你的年龄范围正确");
    }
}
//自定义一个异常
//1.一般情况下,我们自定义异常是继承 RuntimeException
//2.即把自定义异常做成 运行时异常,好处是,我们可以使用默认的处理机制
class AgeException extends RuntimeException{
    public AgeException(String message){    //构造器
        super(message);
    }
}

throw 和 throws 的区别

意义 位置 后面跟的东西
throws 异常处理的一种方式 方法声明处 异常类型
throw 手动生成异常对象的关键字 方法体中 异常对象

Java - 异常 - 自定义异常、throw 与 throws 的区别_第1张图片

进入方法A

用A方法的finally

制造异常(创造异常对象)

进入方法B

调用B方法的finally

你可能感兴趣的:(笔记,java,开发语言,后端)