在console输入数据赋值给args[0]后直接跳转至异常数组下标越界异常

import java.io.*;
public class Hello{
    public static void main(String[] args){
        while(true){
                    try{
                        System.out.println("请输入两个数");
                        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
                        String inputLine1 = in.readLine();
                        args[0] = inputLine1;
                        String inputLine2 = in.readLine();
                        args[1] = inputLine2;
                        int n1 = Integer.parseInt(args[0]);
                        int n2 = Integer.parseInt(args[1]);
                        System.out.println("两数相除的结果是:" + n1/n2);
                    }catch(ArrayIndexOutOfBoundsException ex){
                        System.out.println("数组下标越界异常:请输入两个数");
                        continue;
                    }catch(NumberFormatException ex){
                        System.out.println("数字格式异常:请输入两个整数");
                        continue;
                    }catch(ArithmeticException ex){
                        System.out.println("算数异常:除数不能为零");
                        continue;
                    }catch(Exception e){
                        System.out.println("。。");
                        continue;
                    }
                    break;
        }
    }
}

图片说明
图片说明
图片说明
这些是debug时候的顺序,输入一个值后直接跳转至数组下标越界异常那个地方。
这个代码的本意是输入两个值,赋值给args[0]和args[1],通过输入不同的值来跳转到相应的异常,但是我只是输入了一个值就跳转了,求指导,谢谢各位大佬。

因为args没有重新做初始化定义长度。运行的时候没带参数,args为String[0],需要重新初始化或者定义另外一个数组。
一般建议是新建一个数组,不要用args,她是作为运行入参使用。

args是运行main方法的参数,不是给你用的
要用的话自己声明变量数组的初始化必须声明长度例如 String[] a = new String[4]
这样a[0] - a[3] 你就可以拿来用了