java.net.SocketTimeoutException 问题
我想判断一个服务器上面的方法是否能连接上,所有我就远程调用了一下那个服务器上的方法。
但是当这个服务器不存在时控制台报一个 验证码为:1:java.net.
SocketTimeoutException: Read timed out 错误。
我想将这个错误捕获到。然后在经行操作。
但是上面显示我catch (Socket
TimeoutException e)这段有错。
我将代码发出来给大家看看。帮忙找找问题
static PHPRPC_Client client = null;
/**
* 判断文件转换服务器是否存在
* User:zhaozhijun
* @return
*/
public boolean isclient() throws
IOException{
boolean bo=true;
try{
Object obj="";
client = new PHPRPC_Client(Constants._CONVERTADDR+"/remote/RemoteCallService");
client.setTimeout(30000);
obj = client.invoke("generationVcode", new Object[] { NetTools.getAllLocalHostIP()[0] }, true);
String validate="";
if(obj!=null){
validate= Cast.toString(obj);
}
logger.debug("验证码为:" + validate);
// 判断验证码是否获取成功
if(validate.length()!=6){
return false;
}
if (validate.equals("error") || validate.equals("404:Not Found") || validate.equals(""))
return false;
}catch (SocketTimeoutException e) {
bo=false;
e.printStackTrace();
logger.error("连接文件转换服务器超时!"+e);
}catch (Exception e) {
bo=false;
e.printStackTrace();
logger.error("判断文件转换服务器是否存在出错!!"+e);
}
return bo;
}
------最佳解决方案--------------------是这样写 抓个图我看最好 看eclipse提示什么
------其他解决方案--------------------应该没错 你抓个图看看呢 我copy了你的代码到工程里因为缺少些对象 全是错。
看是不是你什么包没导入
------其他解决方案--------------------不好意思啊! 不会抓图 反正就是
try{
}catch (SocketTimeoutException e) {
bo=false;
e.printStackTrace();
logger.error("连接文件转换服务器超时!"+e);
}
时, 这行 catch (SocketTimeoutException e) 报错 已经导包了 还是一样
------其他解决方案--------------------可能是我描述的不够清楚。
我要的目的是将java.net.SocketTimeoutException 这个
异常捕获。
很简单的一个问题。
只需要加一个try{}catch(){}就行了,但是就是我加上了这个try{}catch(){}后,Myeclipse在SocketTimeoutException这段话下面出现了一个红色下划线, 不是没导包的问题。
难道抛出SocketTimeoutException异常不是这么写的吗?
------其他解决方案--------------------问题解决了,结题
------其他解决方案--------------------LZ能说下你是怎么解决的嘛?谢谢!
------其他解决方案--------------------你的那个问题是怎么解决的啊
------其他解决方案--------------------求求 应急