如果加载了url则捕获

时间:2012-08-24 15:32:18

标签: java android url webview

我有一个简单的应用程序,它在WebView中显示一个网页。因为其中一个网址尚未在线,我想举杯表示它不在线,而且只是在线,它只是加载网址。

有人知道如何做到这一点吗?

提前致谢。

3 个答案:

答案 0 :(得分:2)

打开URLConnection,首先检查连接的响应代码。如果这是404,则表示该站点不存在。然后,您可以在那里完成所有需要的站点缺失的东西。示例代码:

 try {
      Url url = new URL(someStringUrl);
      HttpURLConnection huc =  ( HttpURLConnection )  url.openConnection (); 
      if(huc.getResponseCode() == 404) {
           //Site doesnt exist, returned 404 error
      }
 } catch(Exception e) {
     e.printStackTrace();
 }

答案 1 :(得分:0)

你可以扩展你自己的例外,比如说

public class Exception404 extends Exception {
}

然后捕获2个不同的例外:

HttpURLConnection huc = null;

try {
     Url url = new URL(someStringUrl);
     huc =  ( HttpURLConnection )  url.openConnection (); 
     if(huc.getResponseCode() == 404) 
        throw new Exception404();

     //...
     //...
     //...

 } catch(Exception404 e) { 
    e.printStackTrace();    
 } catch(Exception e) {
    e.printStackTrace();
 } finally {
    //close connection (saves battery life time)
    huc.disconnect();
 }

或者你可以以相同的方式抛出相同的异常处理两个失败

答案 2 :(得分:0)

看得见......

try {
      // Write your code to access the website here

} catch(例外e){

// Your execution will reach here once the site can't be reached

 Toast.makeText(Your_Activity.this, "Site still not online",duration).show();

}