2011-08-04 84 views
0

我試圖通過IOException類型的e作爲新的IOException中的原因,如下所示。在1.6環境下出現奇怪的IOException 1.6錯誤

try { 
    //stuff 
} 
catch (IOException e) { 
    throw new IOException("Some Message", e); 
} 

這給了我下面的錯誤:

構造IOException異常(字符串,IOException異常)是不確定的

然而,在1.6,IOException(String, Throwable)實現爲這個類的構造函數。

這就像我在Java 1.5中,即使我的項目屬性中的所有內容都是1.6!我的硬盤上甚至沒有安裝1.5 JDK!

+2

你確定**這是一個['java.io.IOException'](http://developer.android.com/reference/java/io /IOException.html)而不是另一個包中的其他'IOException'?另請注意,此構造函數是在API API Level 9 **的Android API中引入的。如果您使用低於此值的任何內容,那麼您將無法使用它。 –

+0

也許嘗試更改您的構建目標,然後將其更改回來?有時候我的環境表現時髦,我必須這樣做。 – Jack

+0

@Joachim Sauer是的,我是..'import java.io.IOException;' – styler1972

回答

0

我在我的項目設置引用不正確的android.jar。

另請注意,此構造函數是在API級別9的Android API中引入的。如果您使用的是低於此級別的任何內容,那麼您將無法使用它。 - Joachim Sauer 8月4日14:44

0

嘗試這樣做,你釣到的魚,而不是內部:

throw new IOException("Some Message", e.getCause()); 
+0

不幸的是,這並沒有解決這個錯誤 – styler1972

2

上Androind Java版本僅實現1.5功能。您應該能夠使用initCause方法是這樣的:

IOException e2 = new IOException("Some message"); 
e2.initCause(e); 
throw e2;