# 如何使用示例在 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 关键字的更多示例，请参阅：[抛出关键字示例](https://beginnersbook.com/2013/04/throw-in-java/)。