编译器抱怨多个异常处理

时间:2015-11-22 12:31:21

标签: java eclipse exception

尝试使用时

success

编译器抱怨:

  

不能抛出Object类型的异常;异常类型必须是Throwable的子类

我正在使用eclipse luna,编译器设置为java 8用于项目

3 个答案:

答案 0 :(得分:2)

我刚碰到这个,这让我发疯了。
我通过向现有catch添加 if(!$stmt = $this->conn->prepare($sql)){ $errorDump = ' Error 1 '.date("r").' : '; $errorDump .= $this->conn->error; $errorDump .= "\n\nBacktrace:\n".print_r(debug_backtrace(),TRUE); $errorDump .= " SQL: ".$sql; error_log($errorDump); unset($errorDump); return false; } .... //carry on with the query as it's ok 来创建一个多捕获异常处理程序 Eclipse抱怨

  

不能抛出Object类型的异常;异常类型必须是a   Throwable的子类

我终于注意到我没有添加相应的import语句,所以eclipse并不知道新添加的异常的类型。
如果eclipse会抱怨

那就太好了
  

URISyntaxException无法解析为类型

当异常本身时,就是说什么 当它是多重捕获的一部分时,你得到的错误是非直观的。

答案 1 :(得分:0)

听起来就像其中一个缺少'扩展异常'。

我认为它与“多重异常处理”没有任何关系,JDK8肯定会编译这样的代码。

这两个实际上是否扩展了异常/是否可抛弃?

答案 2 :(得分:0)

在eclipse中,只需确保导入catch子句中的所有异常

catch(SomeException se | SomeException1 se1 | SomeException2 se2){
    doSomething();
}

缺少导入语句会显示如下错误。