我有以下两个Groovy代码片段,它们应该做相同的事情,但实际上并不一样。
try {
throw new RuntimeException()
} catch (IllegalStateException) {
println("hello!")
}
这是一条关于IT技术的翻译内容:“这个
'hello!'
的输出结果。”try {
throw new RuntimeException()
} catch (IllegalStateException e) {
println("hello!")
}
这个程序的输出结果是意外的异常:
Caught: java.lang.RuntimeException
java.lang.RuntimeException
at 2.run(2.groovy:2)
请注意,唯一的区别在于一个片段中catch块中没有
e
参数。我正在运行以下版本的Groovy和JVM。
groovy --version
Groovy版本:2.0.5 JVM:1.6.0_37 供应商:Sun Microsystems Inc. OS:Linux
这是预期行为还是编译器中的错误?
谢谢。
;
是可选的。 - helpermethodIllegalStateException
并捕获RuntimeException
。 - Peter Niederwieser