Java 处理错误的URL
我的服务器上存储了csv文件。如果我输入了正确的键(这是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()
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