返回后的Java对象声明;?

时间:2016-02-13 08:33:06

标签: java syntax return reverse-engineering

在查看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

1 个答案:

答案 0 :(得分:1)

代码只是为处理多个异常而定制的异常处理程序循环 - 因此是多个return语句。它显然没有被正确地翻译成Java。