在
java中,如果我们必须在if之后执行一个语句,或者对于括号没有必要就执行一个语句.我们可以写:
if(condition) executeSingleStatement();
要么
for(init;condition;incr) executeSingleStatement();
但是在catch块的情况下为什么我们不能省略括号?为什么这是不可能的?
catch(Exception e) e.printStackTrace();
因为在大多数情况下,我们在catch块中只有一个语句,它在测试或记录语句时是e.printStackTrace().
解决方法
这不是可能或不可能的问题.这只是一种语言(语法)设计决策.
Java语言解析器有几个实现.可以在不到一天的时间内修改解析器源,并允许没有括号的catch语句.