当jsoup超时时你怎么得到一个例外?

时间:2013-06-14 18:05:42

标签: java android jsoup

所以我想做的是当我的Jsoup连接超时时我想调出一个警告对话框。现在它什么也没做。它只是跳过那里错误,并没有捕获超时异常或崩溃。我是java的新手,所以我不知道如何捕获这个sockettimeoutexception并将其重新路由到另一个方法。当jsoup超时时,有人能告诉我如何使用另一种方法吗?

 private void waterLevel() {
        // TODO Auto-generated method stub
 try {


levelDoc = Jsoup.connect("http://waterdata.usgs.gov/va/nwis/uv?site_no=02037500roop").timeout(3000).get();

 }  catch (SocketTimeoutException a) {
     Log.e("MyAPP", "Exception----------A!", a);
     a.printStackTrace(); 
     alertdialog();
 }   catch (Exception e) {
     Log.e("MyAPP", "Exception----------E!", e);
 }

 for (Element table : levelDoc.select("table[id=table_07_00065]")) {
     String tableText = table.text();
     depthArray = tableText.split(" ");
     waterLevel = Double.parseDouble(depthArray[4]);
     tvWaterLevel.setText(depthArray[4]+"FT");
     if(waterLevel >= 5.0 && waterLevel < 9.0){
        tvAlert.setText("LIFE JACKET REQUIRED");  
     }
     else if (waterLevel >= 9.0){
         tvAlert.setText("HIGH WATER PERMIT REQUIRED");
     }
     else{
         tvAlert.setText("");

     }
     }



}

所以我添加了更改代码,它给了我想要的东西:

private void waterLevel() {
        // TODO Auto-generated method stub
 try {


levelDoc = Jsoup.connect("http://waterdata.usgs.gov/va/nwis/uv?site_no=02037500").timeout(4000).get();

 }  catch (SocketTimeoutException a) {
     Log.e("MyAPP", "Exception----------A!", a);
     a.printStackTrace(); 
 }   catch (Exception e) {
     Log.e("MyAPP", "Exception----------E!", e);
 }


 tvWaterLevel.setText("");
 for (Element table : levelDoc.select("table[id=table_07_00065]")) {
     String tableText = table.text();
     depthArray = tableText.split(" ");
     waterLevel = Double.parseDouble(depthArray[4]);
     tvWaterLevel.setText(depthArray[4]+"FT");
     if(waterLevel >= 5.0 && waterLevel < 9.0){
        tvAlert.setText("LIFE JACKET REQUIRED");  
     }
     else if (waterLevel >= 9.0){
         tvAlert.setText("HIGH WATER PERMIT REQUIRED");
     }
     else{
         tvAlert.setText("");

     }
     }
 if (tvWaterLevel.length() < 1){
     connectionAlarm();
 }


}

0 个答案:

没有答案
相关问题