Java catch块的语法错误,在一台计算机上工作,但在另一台计算机上不工作?

Java catch块的语法错误,在一台计算机上工作,但在另一台计算机上不工作?,java,syntax,exception-handling,syntax-error,Java,Syntax,Exception Handling,Syntax Error,我的这部分代码不会在我的笔记本电脑上编译,但它在我的桌面上运行得很好。我是不是错过了一些简单的东西?唯一的区别是我使用的是DrJava而不是eclipse。它给了我一个语法错误,表示标记“|”上的语法错误。预期。这是代码的捕获行 protected void done() { try { get(); } catch (InterruptedException | ExecutionException e) { // d

我的这部分代码不会在我的笔记本电脑上编译,但它在我的桌面上运行得很好。我是不是错过了一些简单的东西?唯一的区别是我使用的是DrJava而不是eclipse。它给了我一个语法错误,表示标记“|”上的语法错误。预期。这是代码的捕获行

protected void done() {
         try {
          get();
         } catch (InterruptedException | ExecutionException e) {
          // do something with any exceptions here

         }
        }

您的语法没有问题,这应该可以正常工作。这是一个老错误,与Java7或更高版本无关。我猜你正在mac上使用DR JAVA?mac上的JAVA DR与JAVA 7或8不兼容,这就是为什么会出现此错误。

这是一个旧的新功能。
catch
表达式中的
只是自Java 7以来Java语言的一部分。那么我如何解决这个问题?您可以检查Dr Java是否使用较旧的版本,如果可能的话将其切换。@remix升级到Java 7 lololoh,当我真正注意到您的第一条评论时,这一点非常明显。抱歉,谢谢。不,我没有使用mac。我升级了我的DR java应用程序,它现在给我错误1,发现23个警告:-----------***错误***-----------错误:对于低于1.7的源代码级别,不允许使用多捕获参数