我有一个在 WebView 中显示网页的简单应用程序。因为其中一个 url 尚未在线,所以我想祝酒,说它不在线,当它在线时,它只是加载 url。
有人知道如何做到这一点吗?
提前致谢。
打开一个 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();
}
好吧,看看这个...
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();
}
您可以扩展自己的异常,让我们说
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();
}
或者您可以抛出相同的异常以相同的方式处理这两个故障