2014-09-12 4 views
0

я код structurred таким образомНе удается поймать исключение, поймать блок никогда не достиг

public void generalMethod(){ 
    try{ 
    methodThatStartAsyncWebTask(); 
    catch(Exception e){ 
    offlineDataAlternativeMethod(); 
    } 

} 

метод

public void offlineDataAlternativeMethod(){ 
     try(
     loadArchivedFile(); 
     } 
     catch(Exception e){ 
     reInitializeeData(); 
    } 

} 

Приложение падает на линии loadArchivedFile();, что терпит неудачу, потому что не нашел файл , но странно, что блоки catch, вызывающие reInitializeeData();, не достигнуты.

Почему бы не дойти до блока catch? Есть идеи?

Это первый подобный вопрос. Любое решение?

+0

могли бы вы показать некоторый код loadArchivedFile? вы не показываете свой стек. e.printStackTrace(); –

+0

stacktrace слишком длинный, но просто исключение FileNotFound, сгенерированное 'loadArchivedFile()', не записывается как ожидалось – AndreaF

ответ

0

Попробуйте

getting file not found exception

+1

, но безуспешно пытался – AndreaF

+1

попробуйте это. http://stackoverflow.com/questions/8845534/getting-file-not-found-exception – easywaru

+0

ОК, это работает, спасибо ... но почему, черт возьми, попытка уловить не работает? FileNotFoundException должен наследовать от Exception, поэтому я не могу понять причину этой проблемы. – AndreaF

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