如何在 java 中抛出异常

如何在 java 中抛出异常,在 Java 中,我们已经定义了异常类,例如ArithmeticExceptionNullPointerExceptionArrayIndexOutOfBounds异常等。这些异常被设置为在不同的条件下触发。例如,当我们将一个数除以零时,这会触发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)
赞(1)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址