创建自定义 java 异常

Creating custom java exception

所以我设置了基础。我们需要创建一个大小由用户指定的数组。创建数组后,用户必须用整数值填充数组。然后,该程序应按照链接图像中指定的数字 2 执行算术运算。我又制作了两个数组,一个用于保存总和的答案,一个用于保存除法的答案。现在的问题是,当您需要对数组中的最后一个数字进行加法或除法时,我会得到一个 IndexOutOfBoundsException,因为在最后一个数字之后没有值可以用来加法或除法。他们将其设置为通过异常,因为该实验室的全部内容都是关于异常和创建自定义异常。但是我需要帮助做出两个例外。第一个是用户在数组中输入非整数值时的异常。第二个用于 IndexOutOfBoundsException 异常。我不知道该怎么做。我将在下面添加我的代码

import java.util.Scanner;
import java.util.Arrays;

public class Driver {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int arrSize = 0;
        int num = 0;

        System.out.println("Enter array size");
        arrSize = input.nextInt();

        int[] numbers = new int[arrSize];
        int[] sum = new int[arrSize];
        int[] divide = new int[arrSize];

        for (int i = 0; i < numbers.length; i++) {
            System.out.println("Enter number");
            num = input.nextInt();
            numbers[i] = num;
        }

        for (int q = 0; q < numbers.length; q++) {
            sum[q] = numbers[q] + numbers[q+1];
            divide[q] = numbers[q] / numbers[q+1];
        }

        System.out.println(Arrays.toString(sum));
        System.out.println(Arrays.toString(divide));
    } 
}

这应该可以帮助您扫描整数值。

try{
    System.out.print("Enter an integer: ");
    int number = input.nextInt();  
    }
    catch (InputMismatchException ex) {
        System.out.println("Incorrect input: an integer is required)");
        //It's also possible to throw your custom Exception here, like "throw new CustomException();"
    }

关于 IndexOutOfBoundsException,只需在该区域周围编写一个 try catch 块,您希望在该区域出现该异常并抛出您自己的自定义异常。

try{
    ...
}catch(IndexOutOfBoundsException e){
    throw CustomException2();
}