在查看jstl 1.1.2中的一些代码时,我遇到了一些不熟悉的Java语法。在我看来,我所看到的代码是由Beyond Compare(或其插件)反向编译的,所以这可能与它有关。
方法末尾的代码如下所示:
...
p.parse(page.getInputStream(), h);
if(failed)
return vmFromString("taglib " + prefix + " (" + uri + ") allows only the " +
"following taglibs to be imported: " + permittedTaglibs);
return null;
SaxException ex;
ex;
return vmFromString(ex.toString());
ex;
return vmFromString(ex.toString());
ex;
return vmFromString(ex.toString());
}
在jstl 1.1中,在重构PermittedTaglibsHandler之前,它看起来像这样:
...
saxparser.parse(pagedata.getInputStream(), permittedtaglibshandler);
if(failed)
return vmFromString("taglib " + s+ " (" + s1+ ") allows only the " +
"following taglibs to be imported: " + permittedTaglibs);
return null;
Object obj;
obj;
return vmFromString(((SaxException) (obj)).toString());
obj;
return vmFromString(((ParserConfigurationException) (obj)).toString());
obj;
return vmFromString(((IOException) (obj)).toString());
}
这种奇怪的语法只是反向编译的一个工件,还是有一个像返回语句之后有意义的代码?
谢谢,
Rebeccah
答案 0 :(得分:1)
代码只是为处理多个异常而定制的异常处理程序循环 - 因此是多个return语句。它显然没有被正确地翻译成Java。