如何在 java 中抛出异常,在 Java 中,我们已经定义了异常类,例如ArithmeticException
,NullPointerException
,ArrayIndexOutOfBounds
异常等。这些异常被设置为在不同的条件下触发。例如,当我们将一个数除以零时,这会触发ArithmeticException
,当我们尝试从其边界中访问数组元素时,我们得到ArrayIndexOutOfBoundsException
。
我们可以定义自己的条件或规则集,并使用throw
关键字显式抛出异常。例如,当我们将数字除以 5 或任何其他数字时,我们可以抛出ArithmeticException
,我们需要做的只是设置条件并使用throw
关键字抛出任何异常。Throw
关键字也可用于抛出自定义异常。
throw
关键字语法:
throw new exception_class("error message");
例如:
throw new ArithmeticException("dividing a number by 5 is not allowed in this program");
throw
关键字的示例
假设我们有一个要求,我们只需要在年龄小于 12 且体重小于 40 的情况下注册学生,如果不满足任何条件,那么用户应该获得带有警告消息“学生没有资格注册”的ArithmeticException
。我们已经通过将代码放在检查学生资格的方法中来实现逻辑,如果输入的学生年龄和体重不符合标准,那么我们使用throw
关键字抛出异常。
/* 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..");
}
}
输出:
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)