JavaSE 异常之自定义异常

简介: JavaSE 异常之自定义异常

定义

自定义异常:

  • 自定义编译时异常:定义一个异常类继承 Exception,重写构造器,在出现异常的地方用 throw new 自定义对象抛出
  • 自定义运行时异常:定义一个异常类继承 RuntimeException,重写构造器,在出现异常的地方用 throw new 自定义对象抛出

throws:用在方法上,用于抛出方法中的异常

throw: 用在出现异常的地方,创建异常对象且立即从此处抛出

 //需求:认为年龄小于0岁,大于200岁就是一个异常。
 public class ExceptionDemo {
     public static void main(String[] args) {
         try {
             checkAge(101);
         } catch (AgeIllegalException e) {
             e.printStackTrace();
         }
     }
 ​
     public static void checkAge(int age) throws ItheimaAgeIllegalException {
         if(age < 0 || age > 200){//年龄在0-200之间
             throw new AgeIllegalException("年龄不合法");
         
         }else{
             System.out.println("年龄是:" + age);
         }
     }
 }

处理规范

异常的语法注意:

  1. 运行时异常被抛出可以不处理,可以自动抛出;编译时异常必须处理;按照规范都应该处理
  2. 重写方法申明抛出的异常,子类方法抛出的异常类型必须是父类抛出异常类型或为其子类型
  3. 方法默认都可以自动抛出运行时异常, throws RuntimeException 可以省略不写
  4. 当多异常处理时,捕获处理,前面的异常类不能是后面异常类的父类
  5. 在 try/catch 后可以追加 finally 代码块,其中的代码一定会被执行,通常用于资源回收操作

异常的作用:

  1. 可以处理代码问题,防止程序出现异常后的死亡
  2. 提高了程序的健壮性和安全性
 public class Demo{
     public static void main(String[] args){
        
         while(true){
             try{
                 Scanner sc = new Scanner(System.in);
                 System.out.println("请您输入您的年年龄:");
                 int age = sc.nextInt();
                 System.out.println("年龄:"+age);
                 break;
             }catch(Exception e){
                 System.err.println("您的年龄是不正常的!");
             }
         }
     }
 }
目录
相关文章
|
2月前
|
Java UED
JavaSE&异常
JavaSE&异常
11 1
|
2月前
|
Java 编译器
【Java】异常操作及自定义异常
【Java】异常操作及自定义异常
36 2
|
2月前
|
安全 Java 程序员
Java中的异常Exception和捕获,自定义异常
Java中的异常Exception和捕获,自定义异常
|
2月前
|
安全 Java 程序员
【Java 异常处理】异常处理机制,内置异常类,如何捕获异常
【Java 异常处理】异常处理机制,内置异常类,如何捕获异常
|
7月前
|
监控 Java 程序员
|
10月前
|
Java 程序员
JavaSE 异常
JavaSE 异常
23 0
|
11月前
|
Java 程序员
JavaSE/异常
JavaSE/异常
|
12月前
|
Java 数据安全/隐私保护
JavaSe-异常
JavaSe-异常
|
Java
java 异常进阶 多异常和自定义异常详解
java 多异常,子父类异常,自定义异常详解。
171 0
java 异常进阶 多异常和自定义异常详解
|
Java 编译器 索引
22 javaSe异常处理秒学会
概念:在程序执行过程中发生的不正常情况,开发过程中的逻辑语法错误不是异常
62 0