【发布时间】:2013-08-25 12:26:55
【问题描述】:
class Ex_ex
{
public static void main(String[] args)
{
if (args[0].equals("first"))
if (args[1].equals("second")) //Expected exception here LINE1
{
System.out.println("first..second");
}
else
{
System.out.println("nothing "+ args[1]);
}
}
}
我从命令行执行了这个程序 我给出了以下命令
"java Ex_ex 测试"
test 是 args[0] 并且没有给出 args[1]。
我以为我会在第 1 行遇到运行时异常,因为它尝试访问不存在的 args[1] ...但我没有遇到异常。
谁能告诉我为什么?
【问题讨论】:
-
@NoIdeaForName。您应该只改进代码的格式,而不是代码本身。好像您在内部 if-else 块内添加了大括号。那是以前不存在的。
-
@RohitJain 好的,但我确实确保不会改变逻辑,只是更清晰的写法
-
@NoIdeaForName。是的,但你不应该编辑问题。我打算在我的回答中写一些关于这一点的观点。但是在您编辑之后,这一点现在就没有意义了。
-
@RohitJain 理解