Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij IDEA Java 7多捕获,带rethrow异常_Java_Eclipse_Exception_Intellij Idea_Rethrow - Fatal编程技术网

Intellij IDEA Java 7多捕获,带rethrow异常

Intellij IDEA Java 7多捕获,带rethrow异常,java,eclipse,exception,intellij-idea,rethrow,Java,Eclipse,Exception,Intellij Idea,Rethrow,下面的方法是使用JDK 7在Eclipse上编译的,没有任何编译错误;奇怪的是,INELIJ IDEA 14上使用相同JDK 7的相同方法会产生编译错误,但它会运行! 这是因为我的想法配置不好吗? 谢谢:) 该方法不会抛出FileNotFoundException或SQLException,而是抛出Exception,实际上这甚至不应该编译。您尚未将异常指定为可能的异常。顺便说一句,这个代码段没有实现multicatch。如果您从throw(ex)中删除(),并且实际使用Java 7编译(语言级

下面的方法是使用JDK 7在Eclipse上编译的,没有任何编译错误;奇怪的是,INELIJ IDEA 14上使用相同JDK 7的相同方法会产生编译错误,但它会运行! 这是因为我的想法配置不好吗? 谢谢:)


该方法不会抛出
FileNotFoundException
SQLException
,而是抛出
Exception
,实际上这甚至不应该编译。您尚未将
异常
指定为可能的异常。顺便说一句,这个代码段没有实现multicatch。如果您从
throw(ex)
中删除
()
,并且实际使用Java 7编译(语言级别7),multicatch在catch块中带有
|
操作符。如果使用JDK 6,则使用这种方式重新刷新将产生异常。但在JDK 7中,有一个新功能允许您将(FileNotFoundException | SQLException e)替换为(Exception e),并且编译器足够聪明,可以理解这里的“Exception”只是替换了“FileNotFoundException | SQLException e”,这就是我在这个方法中尝试测试的内容。您可以尝试直接使用javac(jdk7)编译此代码,它将编译并运行,不会出现任何问题。
  static void testException() throws FileNotFoundException, SQLException {
    boolean zx = false;
    try {
      if (zx) {
        throw new FileNotFoundException("1");
      }
      else {
        throw new SQLException("2");
      }
    }
    catch (Exception ex) {
      throw (ex);
    }
  }