开发者社区> 问答> 正文

如何在 java 中创建自定义异常?

有的时候我们需要 java 中创建自定义异常,求代码

展开
收起
YDYK 2020-04-24 19:52:47 464 0
1 条回答
写回答
取消 提交回答
  • 您只需扩展异常类以创建自定义异常。如果要创建未选中的异常,则需要扩展运行时异常。 让我们用示例来理解这一点。您有员工名单,如果员工列表中的任何员工的年龄小于 18,则需要抛出无效 AgeException(我们的自定义例外)。 示例: 创建无效AgeException.java,如下所示

    创建 POJO 类,称为

    country.java 让我们创建员工检查Main.java。此类将具有主方法。当您运行上述

    程序时,您将获得以下输出:正如您所看到的,如果我们有任何员工的年龄低于 18 岁,我们将抛出无效年龄异常。

    package org.arpit.java2blog;

    public class InvalidAgeException extends Exception{

    InvalidAgeException(String message) { super(message); } }

    package org.arpit.java2blog;

    public class Employee {

    private String name; private int age;

    Country(String name, int age ){ this.name = name; this.age=age; } public String toString() { return name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setName(int age) { this.age = age; } }

    package com.arpit.java2blog;

    import java.util.ArrayList; import java.util.List;

    public class EmployeeCheckMain {

    public static void main(String args[]) { List employees = new ArrayList<>(); Employee e1 = new Employee("Adam",20); Employee e2 = new Employee("Brain",19); Employee e3 = new Employee("Stuart",22); Employee e4 = new Employee("Paul",21); employees.add(e1); employees.add(e2); employees.add(e3); employees.add(e4); boolean safe; try { safe = checkListOfEmployees(employees); if (safe) System.out.println("We don't have any employee with less than 18"); Employee e5 = new Employee("Dev",17); employees.add(e5); checkListOfEmployees(employees); } catch (InvalidAgeException e) { e.printStackTrace(); }

    }

    public static boolean checkListOfEmployees(List employees) throws InvalidAgeException { for (int i = 0; i < employees.size(); i++) { Employee employee = employees.get(i); if (employee.getAge() < 18) { throw new InvalidAgeException("Employee'sAge is less than 18"); }
    } return true; } }

    2020-04-24 19:53:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载