2015-06-08 3 views
-2

Im пытается удалить TXT-файлы, но всегда получаю то же сообщение об ошибке. Это почти тот же код, что и тот, который я нашел в Интернете.Почему нет улова?

   for (int i = 0; i < datei.length; i++) 
       { 
         try 
         { 
          loeschenDatei = datei[i].delete(); 

          if (loeschenDatei) 
          { 
           System.out.println(datei[i] + " wurde geloescht!"); 
          } 
          else 
          { 
           System.out.println(datei[i] + " konnte nicht geloescht werden!"); 
          } 
         } 
         catch (IOException ex) 
         { 
          ex.printStackTrace(); 
         } 

       } 

Я всегда получаю ошибку:

unreachable catch block for ioexception. this exception is never thrown from the try statement body.

+0

В сообщении говорится, что удаление, которое вы используете, не выбрасывает IOException. Какой тип 'datei'? Не зная этого и зная, какой именно метод 'delete()' вы вызываете, трудно точно сказать, что происходит. – knolleary

ответ

1

Это означает, что ничто в пределах вашей Ьгу блока не может выбросить исключение типа IOException. Единственное, что я не уверен, это datei[i].delete(). Проверьте эту подпись метода в своей среде IDE и посмотрите, есть ли в конце это throws IOException или что-то в этом роде. Если этот метод ничего не бросает, удалите свой блок catch try.

+0

Спасибо, так что я должен просто удалить все try & catch? –

+0

Я так полагаю. Как я уже сказал, если 'delete()' вообще выбрасывает исключение, тогда вы получите ошибку времени компиляции, пока не обработаете любое исключение, которое оно выбрасывает. Сначала попробуйте удалить блок catch try и скомпилировать приложение, чтобы увидеть, что метод 'delete()' ничего не делает. – arjabbar

+0

@arjabbar Это неверно .... Поскольку datei [i] может быть null и delete() invocation на null будет вызывать NullPointerException. – Rajesh

0

недостижимый блок catch для ioexception - проверка кода компилятора предполагает, что. Возможно, исключения IO уже обрабатываются методом удаления.

Если вы не уверены, какие исключения могут быть брошены вашим кодом, вы можете изменить исключение IOException в Exception.

Смежные вопросы