You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java CLI程序如何检查参数数量?代码缺失条件求解

问题解决与代码修正

核心问题分析

你存在两个关键错误:

  1. 参数解析时机错误:你先尝试解析args[0]和args[1]再判断参数数量,当参数不足2个时,会直接抛出ArrayIndexOutOfBoundsException,根本走不到自定义异常的逻辑。必须先判断参数数量,再做解析。
  2. 数组长度写法错误:Java中数组的长度属性是数组名.length,不需要加[],正确写法是args.length。

修正后的完整代码

import java.util.*;

class MyException extends Exception {
    // 修正toString里的语法错误:多余的右括号
    public String toString() {
        return "Something Went Wrong :(";
    }
}

class ExceptionCLI {
    public static void main(String args[]) {
        // 先判断参数数量,再解析
        if (args.length != 2) {
            try {
                throw new MyException();
            } catch (Exception e) {
                System.out.println(e.toString());
            }
        } else {
            // 参数数量正确时再解析并计算
            int A = Integer.parseInt(args[0]);
            int B = Integer.parseInt(args[1]);
            System.out.println("Result: " + A * B);
        }
    }
}

额外优化建议

  • 自定义异常可以通过构造方法传递错误信息,更符合Java规范:
class MyException extends Exception {
    public MyException(String message) {
        super(message);
    }
}
// 抛出时可改为:throw new MyException("参数数量错误,需要传入2个整数");
  • 还可以增加对参数是否为整数的判断,避免NumberFormatException,比如用try-catch包裹Integer.parseInt。

内容的提问来源于stack exchange,提问作者Almas Bhisti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 09:04:55