Странная ошибка IOException pre 1.6 в среде 1.6 - PullRequest
0 голосов
/ 04 августа 2011

Я пытаюсь передать 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 на моем жестком диске!

Ответы [ 3 ]

2 голосов
/ 04 августа 2011

Java-версия на Androind реализует только 1.5 функции. Вы должны иметь возможность использовать метод initCause , например:

IOException e2 = new IOException("Some message");
e2.initCause(e);
throw e2;
0 голосов
/ 10 августа 2011

Я ссылался на неверный файл android.jar в настройках моего проекта.

Также обратите внимание, что этот конструктор был представлен в API Android на уровне API 9. Если вы используете что-то ниже этого, вы не сможете его использовать. - Иоахим Зауэр 4 августа в 14: 44

0 голосов
/ 04 августа 2011

Вместо этого попробуйте сделать это в вашем улове:

throw new IOException("Some Message", e.getCause());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...