2012-03-23 5 views
1

Как узнать более конкретные ситуации, ошибки, как, является ли ошибка из-за FileNotFoundException или EOFExceptionorNo Internet Access и т.д ....Ошибка: IOException - как получить более конкретную ошибку

ниже код, который я используя для доступа к Интернету, и я получаю IOException, и я знаю, что это связано с тем, что у вас нет доступа к интернету .. но как я хочу знать для УБЕДИТЕСЬ, что эта ошибка связана с файлом, или eof или с разрешением ... .

ниже - это мой код и ловить все исключения, но ни один не даст мне конкретного исключения ситуации.

try { 
    HttpGet request = new HttpGet(MyConstants.URL); 
    HttpResponse response = null; 
    response = httpClient.execute(request); 
    //HttpResponse httpResponse = httpClient.execute(request); 
    HttpEntity httpEntity = response.getEntity(); 
    xmlList = EntityUtils.toString(httpEntity); 
} 
catch (MalformedURLException e) { 
    xmlList = "URL: is a malformed URL"; 
    e.printStackTrace(); 
} catch (UnsupportedEncodingException e) { 
    e.printStackTrace(); 
    xmlList = "URL: UnsupportedEncodingException"; 
} catch (ClientProtocolException e) { 
    e.printStackTrace(); 
    xmlList = "URL: ClientProtocolException"; 
} catch (SocketTimeoutException e) { 
    e.printStackTrace(); 
    xmlList = "URL: SocketTimeoutException"; 
} catch (ConnectTimeoutException e) { 
    e.printStackTrace(); 
    xmlList = "URL: ConnectTimeoutException"; 
} catch (IOException e) { 
    xmlList = "URL: IOException"; 
    e.printStackTrace(); 
} 

ответ

0

Поймайте его!

} catch (FileNotFoundException e) { 
    xmlList = "URL: FileNotFoundException"; 
    e.printStackTrace(); 
} catch (EOFException e) { 
    xmlList = "URL: EOFException"; 
    e.printStackTrace(); 
} catch (IOException e) { 
    xmlList = "URL: IOException"; 
    e.printStackTrace(); 
} 

Нет такого исключения, как «Нет доступа в Интернет».

+0

Я знаю, что такого исключения нет, но я хотел бы узнать причину 'IOException', получить его? –

+0

@AbuHamzah Исключение составляет его собственную причину. Если вы поймали 'FileNotFoundException', это был файл не найден. Если вы поймали 'EOFException', это был EOF. – EJP