Java 网络代码有时抛出未知的异常
我正在尝试从服务器上删除数据。有时,我的代码会由于Java 网络代码有时抛出未知的异常,java,dns,unknown-host,Java,Dns,Unknown Host,我正在尝试从服务器上删除数据。有时,我的代码会由于未知后异常而失败。为什么呢?此问题的原因是什么?如果DNS服务器出现故障,则可能会发生此问题。除了使DNS服务器更健壮或寻找另一个服务器外,您还可以使用完整的IP地址而不是主机名。这样,它就不需要根据主机名查找IP地址。但是,我更愿意修复DNS问题并选择DNS,因为IP地址可能会不时更改。如果DNS服务器出现故障,则可能会发生这种情况。除了使DNS服务器更健壮或寻找另一个服务器外,您还可以使用完整的IP地址而不是主机名。这样,它就不需要根据主机名
未知后异常而失败。为什么呢?此问题的原因是什么?如果DNS服务器出现故障,则可能会发生此问题。除了使DNS服务器更健壮或寻找另一个服务器外,您还可以使用完整的IP地址而不是主机名。这样,它就不需要根据主机名查找IP地址。但是,我更愿意修复DNS问题并选择DNS,因为IP地址可能会不时更改。如果DNS服务器出现故障,则可能会发生这种情况。除了使DNS服务器更健壮或寻找另一个服务器外,您还可以使用完整的IP地址而不是主机名。这样,它就不需要根据主机名查找IP地址。但是,我更愿意修复DNS问题,并且更喜欢DNS,因为IP地址可能会不时更改。一个未知hostexception
表示指定的主机无法转换为IP地址。很可能是DNS服务器有问题。未知的后异常
表示无法将指定的主机转换为IP地址。很可能是DNS服务器出现问题。如果DNS解析间歇性失败,请捕获异常并重试,直到获得名称解析。你只能控制,你能控制的。。。如果您无法控制/修复DNS服务器,请使您的应用程序足够健壮,以处理古怪的DNS服务器。如果DNS解析间歇性失败,请捕获异常并重试,直到获得名称解析。你只能控制,你能控制的。。。如果您无法控制/修复DNS服务器,请使您的应用程序足够健壮,以处理古怪的DNS服务器。我也在Java中看到零星的未知异常,没有明显的原因。解决方法就是重试几次。下面是DocumentBuilder.parse的包装器,可执行以下操作:
static Document DocumentBuilder_parse(DocumentBuilder b, String uri) throws SAXException, IOException {
UnknownHostException lastException = null;
for (int tries = 0; tries < 2; tries++) {
try {
return b.parse(uri);
} catch (UnknownHostException e) {
lastException = e;
System.out.println("Retrying because of: " + e);
continue;
}
}
throw lastException;
}
staticdocumentbuilder\u解析(DocumentBuilder b,stringuri)抛出SAXException,IOException{
UnknownHostException lastException=null;
for(int trys=0;trys<2;trys++){
试一试{
返回b.parse(uri);
}捕获(未知后异常e){
lastException=e;
System.out.println(“由于“+e”而重试);
继续;
}
}
抛出最后一个异常;
}
我也在Java中看到零星的未知异常,没有明显的原因。解决方法就是重试几次。下面是DocumentBuilder.parse的包装器,可执行以下操作:
static Document DocumentBuilder_parse(DocumentBuilder b, String uri) throws SAXException, IOException {
UnknownHostException lastException = null;
for (int tries = 0; tries < 2; tries++) {
try {
return b.parse(uri);
} catch (UnknownHostException e) {
lastException = e;
System.out.println("Retrying because of: " + e);
continue;
}
}
throw lastException;
}
staticdocumentbuilder\u解析(DocumentBuilder b,stringuri)抛出SAXException,IOException{
UnknownHostException lastException=null;
for(int trys=0;trys<2;trys++){
试一试{
返回b.parse(uri);
}捕获(未知后异常e){
lastException=e;
System.out.println(“由于“+e”而重试);
继续;
}
}
抛出最后一个异常;
}
如果在为远程方法调用创建到远程主机的连接时发生java.net.UnknownHostException,则会引发UnknownHostException。DNS级别未解决某些问题这不是java或xml问题。如果在为远程方法调用创建到远程主机的连接时发生java.net.UnknownHostException,则会引发UnknownHostException。DNS级别无法解决某些问题这不是java或xml问题。谢谢BalusC:)。太好了,你给了ip。现在DNS本身并没有出现。但它不起作用。现在我得到了这个错误:-java.io.FileNotFoundException:即使我键入“”我也一无所获。这个ip正确吗?当我做ping时,我得到了ip 216.115.97.236。然而,在这方面,我也得到了同样的例外,在java和浏览器中也没有显示任何内容。太好了,你给了ip。现在DNS本身并没有出现。但它不起作用。现在我得到了这个错误:-java.io.FileNotFoundException:即使我键入“”我也一无所获。这个ip正确吗?当我做ping时,我得到了ip 216.115.97.236。然而,在这方面,我也得到了同样的异常,在java和浏览器中也没有显示任何内容?由于我必须提交我在大学的工作,我认为我无法访问大学路由器并更改其中的dns服务器:(@Nitesh:它是在学院环境中失败,还是仅在您当地的环境中失败?如果它与学院环境不一致,我会通知您的老师或导师,可能存在您无法控制的环境问题,并尝试游说您的学院it员工诊断和解决问题。您可以不要考虑一种捕获异常的方法,并尝试几次,也许几秒钟/分钟。//覆盖系统DNS设置与谷歌免费DNS服务器系统。Stand属性(“Sun.net .SPI.NeSeService .NeSeServer”,“8. 88”);Stest.Stand(“Sun.net .SPI.NealService,提供者1”,“DNS,Sun”);好的,MarkPeters,那么我应该如何解决这个问题呢?因为我必须提交我在大学的工作,而且我认为我无法访问大学的路由器并更改其中的dns服务器:(@Nitesh:它是在学院环境中失败,还是仅在您当地的环境中失败?如果它与学院环境不一致,我会通知您的老师或导师,可能存在您无法控制的环境问题,并尝试游说您的学院it员工诊断和解决问题。您可以不要考虑一种捕获异常的方法,并尝试几次,也许几秒钟/分钟。//覆盖系统DNS设置与谷歌免费DNS服务器系统。Stand属性(“Sun.net .SPI.NeSeService .NeSeServer”,“8. 88”);Stest.Stand属性(“Sun.net .SPI.NealService,提供者1”,“DNS,Sun”);