当太多/少数参数传递给main时抛出异常

时间:2014-01-26 15:24:47

标签: java exception arguments main args

我正在编写一个骰子滚动程序,它有两个参数传递给主,骰子有多少边以及你想抛出它的次数。如果传递少于或多于两个参数,我想抛出异常。我该怎么做呢?

我找到了this。 但我不确定如何使用它?当然,我必须以某种方式指定在抛出异常之前预期的参数数量?

1 个答案:

答案 0 :(得分:4)

试试这个:

public class Dice {
  public static void main(String... args) {

    // First, ensure there are 2 args
    if (args.length != 2) {
      throw new IllegalArgumentException("Exactly 2 parameters required !");
    }

    int firstArgInt;
    int secondArgInt;

    // Verify all args are integers
    try {
      firstArg = Integer.parseIng(args[0]);
    } catch (NumberFormatException nbfe) {
      // 2 possible solutions : throw an exception, or assign a default value
      // - throw new IllegalArgumentException("First arg must be an integer");
      // - firstArg = 42;
    }
    try {
      secondArg = Integer.parseIng(args[1]);
    } catch (NumberFormatException nbfe) {
      // Same as above
    }

    // Etc.

  }
}