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