您只需扩展异常类以创建自定义异常。如果要创建未选中的异常,则需要扩展运行时异常。 让我们用示例来理解这一点。您有员工名单,如果员工列表中的任何员工的年龄小于 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; } }
集结各类场景实战经验,助你开发运维畅行无忧