return 之后的 Java 对象声明;?

标签 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());
}

这种奇怪的语法只是反向编译的产物,还是在 return 语句之后有有意义的代码?

谢谢,

丽贝卡

最佳答案

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

关于return 之后的 Java 对象声明;?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35377784/

相关文章:

c++ - 函数返回样式合乎逻辑并且可以吗?

Java从父类(super class)调用方法并更改返回语句

java - catch block 方法中的递归调用返回值

java - 为我的网络应用程序编写授权过滤器(JSF 2.0)

java - 使用 Camel 和 Spring-boot 构建 REST 应用程序

python - 在python中将数字加在一起,数字是从字典列表中提取的

javascript - 请解释这个奇怪的 Javascript 行

java - 如何在 android/java 中向字符串数组添加新条目?

java - 超时后从 Java 锁定 Windows 桌面

JavaScript:语法错误?是吗?