-3

我有一个在 WebView 中显示网页的简单应用程序。因为其中一个 url 尚未在线,所以我想祝酒,说它不在线,当它在线时,它只是加载 url。

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

提前致谢。

4

3 回答 3

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();
 }
于 2012-08-24T15:35:22.613 回答
0

好吧,看看这个...

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

} 捕捉(异常 e){

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

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

}

于 2012-08-24T17:51:55.083 回答
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();
 }

或者您可以抛出相同的异常以相同的方式处理这两个故障

于 2012-08-24T15:46:32.937 回答