【发布时间】:2015-06-29 05:10:33
【问题描述】:
有没有办法我可以设置一个 try 并捕获 ArrayIndexOutOfBound 异常来检查数组大小是否大于 3? 例如,如果参数数组 args[] 包含 3 个以上的值,那么我希望异常显示错误。
到目前为止,这是我的代码:
public static void main (String[] args){
try {
args[4] = "four";
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Array index out of bounds.");
}
}
【问题讨论】:
-
这感觉就像XY problem。你能给出一个场景来描述你想要做什么以及为什么?
-
args[] 通过命令行参数获取其值。如果为 args 输入的值超过 3 个,或者数组的长度超过 3 个,那么它应该抛出一个 ArrayIndexOutOfBound 异常,否则它应该打印数组内容。
-
我明白你在说你想让你的程序做什么。我不明白的是你为什么要这样做。从
main()中抛出异常是没有意义的,因为那里没有代码可以捕获它。你为什么不(例如)检查数组的大小,如果它太长,打印错误消息,然后返回? -
我也不太确定,这是过去的考试题,我只是想弄清楚如何让它以这种方式工作。