我有一个简单的应用程序,它在WebView中显示一个网页。因为其中一个网址尚未在线,我想举杯表示它不在线,而且只是在线,它只是加载网址。
有人知道如何做到这一点吗?
提前致谢。
答案 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();
}