我正在尝试将e
类型IOException
作为原因传递给新IOException
,如下所示。
try {
//stuff
}
catch (IOException e) {
throw new IOException("Some Message", e);
}
这给了我以下错误:
构造函数IOException(String,IOException)未定义
但是,在1.6中,IOException(String, Throwable)
被实现为此类的构造函数。
就像我在Java 1.5中,即使我的项目属性中的所有内容都说1.6!我的硬盘上甚至没有安装1.5 JDK!
答案 0 :(得分:2)
Android上的Java版本仅实现1.5功能。您应该可以使用initCause方法,如下所示:
IOException e2 = new IOException("Some message");
e2.initCause(e);
throw e2;
答案 1 :(得分:0)
尝试在捕获中执行此操作:
throw new IOException("Some Message", e.getCause());
答案 2 :(得分:0)
我在项目设置中引用了错误的android.jar。
另请注意,此构造函数是在API级别9的Android API中引入的。如果您使用的是以下任何内容,那么您将无法使用它。 - Joachim Sauer 8月4日14:44