企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 如何在 java 中抛出异常 > 原文: [https://beginnersbook.com/2013/04/throw-in-java/](https://beginnersbook.com/2013/04/throw-in-java/) 在 Java 中,我们已经定义了异常类,例如`ArithmeticException`,`NullPointerException`,`ArrayIndexOutOfBounds`异常等。这些异常被设置为在不同的条件下触发。例如,当我们将一个数除以零时,这会触发`ArithmeticException`,当我们尝试从其边界中访问数组元素时,我们得到`ArrayIndexOutOfBoundsException`。 我们可以定义自己的条件或规则集,并使用`throw`关键字显式抛出异常。例如,当我们将数字除以 5 或任何其他数字时,我们可以抛出`ArithmeticException`,我们需要做的只是设置条件并使用`throw`关键字抛出任何异常。`Throw`关键字也可用于抛出自定义异常,我已在单独的教程中介绍过,请参阅 Java 中的[自定义异常](https://beginnersbook.com/2013/04/user-defined-exception-in-java/)。 **`throw`关键字语法:** ```java throw new exception_class("error message"); ``` 例如: ```java throw new ArithmeticException("dividing a number by 5 is not allowed in this program"); ``` ## `throw`关键字的示例 假设我们有一个要求,我们只需要在年龄小于 12 且体重小于 40 的情况下注册学生,如果不满足任何条件,那么用户应该获得带有警告消息“学生没有资格注册”的`ArithmeticException`。我们已经通过将代码放在检查学生资格的方法中来实现逻辑,如果输入的学生年龄和体重不符合标准,那么我们使用`throw`关键字抛出异常。 ```java /* In this program we are checking the Student age * if the student age<12 and weight <40 then our program * should return that the student is not eligible for registration. */ public class ThrowExample { static void checkEligibilty(int stuage, int stuweight){ if(stuage<12 && stuweight<40) { throw new ArithmeticException("Student is not eligible for registration"); } else { System.out.println("Student Entry is Valid!!"); } } public static void main(String args[]){ System.out.println("Welcome to the Registration process!!"); checkEligibilty(10, 39); System.out.println("Have a nice day.."); } } ``` 输出: ```java Welcome to the Registration process!!Exception in thread "main" java.lang.ArithmeticException: Student is not eligible for registration at beginnersbook.com.ThrowExample.checkEligibilty(ThrowExample.java:9) at beginnersbook.com.ThrowExample.main(ThrowExample.java:18) ``` 在上面的例子中,我们抛出了一个非受检的异常,同样地,我们可以抛出[非受检](https://beginnersbook.com/2013/04/java-checked-unchecked-exceptions-with-examples/)和[用户定义的异常](https://beginnersbook.com/2013/04/user-defined-exception-in-java/)。 有关`throw`关键字的更多示例,请参阅:[`throw`关键字示例](https://beginnersbook.com/2013/04/throw-in-java/)。