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("您的年龄是不正常的!");
             }
         }
     }
 }
目录
相关文章
|
6月前
|
Java 程序员 API
JavaSE—异常处理深入了解(一)
JavaSE—异常处理深入了解(一)
|
8月前
|
Java UED
JavaSE&异常
JavaSE&异常
28 1
|
8月前
|
安全 Java 程序员
【Java 异常处理】异常处理机制,内置异常类,如何捕获异常
【Java 异常处理】异常处理机制,内置异常类,如何捕获异常
105 0
|
监控 Java 程序员
|
Java
异常的处理和自定义异常
在Java中,异常(Exception)是指程序在运行过程中遇到的错误或异常情况。Java提供了异常处理机制,可以捕获和处理异常,使程序在遇到异常时能够继续执行或进行相应的处理。 异常处理的基本结构是try-catch语句块。在try块中编写可能抛出异常的代码,如果在try块中抛出了异常,那么程序会跳转到catch块中执行相应的异常处理代码。 以下是一个简单的异常处理的示例: ```java try { // 可能抛出异常的代码 int result = 10 / 0; } catch (ArithmeticException e) { // 异常处理代码
74 0
|
Java 程序员
JavaSE 异常
JavaSE 异常
42 0
|
Java 程序员
JavaSE/异常
JavaSE/异常
|
Java 数据安全/隐私保护
JavaSe-异常
JavaSe-异常
|
SQL 数据安全/隐私保护
异常处理与自定义异常
异常处理与自定义异常
68 0
|
Java 程序员 数据库
【JavaSE】学习异常
【JavaSE】学习异常