【发布时间】:2014-02-17 08:50:40
【问题描述】:
我正在编写一个掷骰子程序,它有两个参数传递给主程序,骰子有多少面以及你想扔它的次数。如果传递的参数少于或多于两个,我想抛出异常。我该怎么做呢?
我找到了this。 但我不确定如何使用它?当然,在抛出异常之前,我必须以某种方式指定预期的参数数量吗?
【问题讨论】:
标签: java exception arguments main args
我正在编写一个掷骰子程序,它有两个参数传递给主程序,骰子有多少面以及你想扔它的次数。如果传递的参数少于或多于两个,我想抛出异常。我该怎么做呢?
我找到了this。 但我不确定如何使用它?当然,在抛出异常之前,我必须以某种方式指定预期的参数数量吗?
【问题讨论】:
标签: java exception arguments main args
试试这个:
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.
}
}
【讨论】:
IncorrectInputException,这是您编写的自定义异常吗?我建议坚持我在上面的示例代码中使用的标准 IllegalArgumentException。