Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 处理错误的URL_Java_Android_Http_Url - Fatal编程技术网

Java 处理错误的URL

Java 处理错误的URL,java,android,http,url,Java,Android,Http,Url,我的服务器上存储了csv文件。如果我输入了正确的键(这是URL的一部分),我就会得到我想要的,但是如果输入的键错误,我的应用程序就会崩溃。我希望能够捕捉到错误 String url="http://mysite.com/template"; url=url+et.getText().toString().toLowerCase()+".csv"; csv.setURL(url); if(csv.checkURL()

我的服务器上存储了csv文件。如果我输入了正确的键(这是URL的一部分),我就会得到我想要的,但是如果输入的键错误,我的应用程序就会崩溃。我希望能够捕捉到错误

    String url="http://mysite.com/template";
            url=url+et.getText().toString().toLowerCase()+".csv";

            csv.setURL(url);
            if(csv.checkURL()){
                enterToDB();

            }
            else{
                tv.setText("Wrong key");
            }       
我的CSVReader看起来像:

 public void setURL(String file){

     try {
        URL url = new URL(file);
        BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
    success=true;
        in.close();
    } catch (MalformedURLException e) { success=false;} catch (IOException e) {  success=false;     }
   }

public boolean checkURL(){
    return success;
}

  }

如果没有复制问题所需的完整的最少代码,也没有关于具体错误是什么的信息(如堆栈跟踪),我只是猜测setURL/checkURL例程并不能完全满足您的需要。他们似乎认为,如果URL中的键出错,openStream将抛出异常,但事实并非如此。即使URL中的路径或密钥错误,HTTP服务器仍将提供响应。响应可能不是200 OK,响应主体可能不包含您要查找的内容,但它仍然会给出响应,并且可以使用开放流来读取响应

因此,如果我理解正确,您实际上希望在决定“成功”是真是假之前检查响应的内容(可能包括HTTP状态代码)

Thane发了一些我给他的密码。我建议您查看它,看看它是否提供了相应地处理成功和失败响应所需的结构


有意义吗?

tnx我想我来不及回答了,但有意义:)。又是tnx