Playframework Java 7多捕获异常错误
我在安装了JavaSE 1.7.0_60的MacOS 10.9.5(Mavericks)上运行java应用程序 我想使用multi-catch语句捕获一些异常…Playframework Java 7多捕获异常错误,playframework,java-7,multi-catch,Playframework,Java 7,Multi Catch,我在安装了JavaSE 1.7.0_60的MacOS 10.9.5(Mavericks)上运行java应用程序 我想使用multi-catch语句捕获一些异常… 但当我尝试运行我的应用程序时,我遇到了如下错误: Internal Server Error (500) for request GET /tresTest/authenticate Compilation error (In /app/controllers/TestBoxController.java around line 57)
但当我尝试运行我的应用程序时,我遇到了如下错误:
Internal Server Error (500) for request GET /tresTest/authenticate
Compilation error (In /app/controllers/TestBoxController.java around line 57)
The file /app/controllers/TestBoxController.java could not be compiled. Error raised is : Syntax error on tokens, delete these tokens
此错误的原因是这行代码:
try {
class.someMethodTrowingException();
} catch (MyExceptionNo1 | MyExceptionNo2 | MyExceptionNo3 e) {
doSomethigUseful();
}
如果在我的控制台上键入java-version
,则得到以下结果:
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
我不明白为什么我会有这种行为。多捕获语句在Java7中是允许的,对吗
更新10.15.2014 我知道如果我用这种方式接球,一切都会顺利进行
try {
class.someMethodTrowingException();
} catch (MyExceptionNo1 e1) {
doSomethigUseful();
} catch (MyExceptionNo2 e2) {
doSomethigUseful();
} catch (MyExceptionNo3 e3) {
doSomethigUseful();
}
但是我的目标是使用多catch语句,比如catch(MyExceptionNo1 | MyExceptionNo2 | MyExceptionNo3 e){…}
看看这个:
更新11.20.2014
发现了问题。即使我告诉它不要使用1.6Java兼容性,这也是一个游戏。我还不知道为什么,也不知道如何做鞋底,但至少我知道问题出在哪里……:) 在maven中添加以下插件,以使用Java 1.7版编译它
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
org.apache.maven.plugins
maven编译器插件
3.6.1
1.7
1.7
我认为是|部分尝试将每个Myexception放在自己的catch中,问题在编译器中。。。即使我得到了JDK7,它也是为了JDK6兼容性而编译的,我真的不明白如何阻止它…:(嗯?jdk 6不允许多重捕获,据说:“…在JavaSE7和更高版本中有效…”-