Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.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 getByName()-如何详细说明原因?_Java_Networking - Fatal编程技术网

Java getByName()-如何详细说明原因?

Java getByName()-如何详细说明原因?,java,networking,Java,Networking,与我想能够区分 名称服务回复,结果是否定的 及 名称服务未回复(未连接到DNS服务器或其他) 我相信两者在支持方面有很大的区别,即告诉某人在哪里寻找问题。这是争论问题与基础设施问题之间的区别 那么我如何区分这两者呢 正如我所看到的,这两种情况下,信息文本是相似的。有什么好主意吗 要澄清的代码片段: try { InetAddress addr = InetAddress.getByName(hostname); } catch (UnknownHostException ex)

与我想能够区分

  • 名称服务回复,结果是否定的

  • 名称服务未回复(未连接到DNS服务器或其他)
我相信两者在支持方面有很大的区别,即告诉某人在哪里寻找问题。这是争论问题与基础设施问题之间的区别

那么我如何区分这两者呢

正如我所看到的,这两种情况下,信息文本是相似的。有什么好主意吗

要澄清的代码片段:

try {
    InetAddress addr = InetAddress.getByName(hostname);
} catch (UnknownHostException ex) {
    if ( ..... ) {
        System.out.println("Name server replied but did not know \"" + hostname + "\"");
    } else {
        System.out.println("Name server could not be contacted");
    }
}

具体来说:在示例中,
..
会是什么?

作为扩展,您可以在try/catch中编写一个额外的函数来ping给定的IP地址以查看响应(如本文()中所定义)


通过这样做,您可以使用您的函数,然后准确地验证问题发生的原因。但是,如果可能的话,我可能会建议您提前进行测试(例如,在您尝试直接连接之前)。

作为一个扩展,您可以在try/catch中编写一个额外的函数来ping给定的IP地址以查看响应(如本文()中所定义)


通过这样做,您可以使用您的函数,然后准确地验证问题发生的原因。但是,如果可能的话,我可能会建议提前测试(例如,在您尝试直接连接之前)。

您可以使用该类从java.lang.Throwable类继承的方法(请参阅java api)或者生成自定义异常,您可以在其中检查两个条件,一个为负值和null。

您可以使用该类从java.lang.Throwable类(请参阅java api)继承的方法,或者生成自定义异常,您可以在其中检查两个条件,一个为负值和null。

我不确定是否理解。如何控制由引发的异常的性质和内容?那个类是标准JDK的一部分,不是我的。我不确定我是否理解。如何控制由引发的异常的性质和内容?该类是标准JDK的一部分,而不是我的。那真是个坏主意。Ping表示ICMP可能会被阻止,而TCP/UDP不会被阻止,即在我的场景中,此类测试将给出错误的结果。我感兴趣的是名称服务器是否应答,而不是名称查找中使用的端点。您的建议还要求我知道DNS服务器IP。Ping什么IP地址?IP地址就是他想要确定的。哎哟。那真是个坏主意。Ping表示ICMP可能会被阻止,而TCP/UDP不会被阻止,即在我的场景中,此类测试将给出错误的结果。我感兴趣的是名称服务器是否应答,而不是名称查找中使用的端点。您的建议还要求我知道DNS服务器IP。Ping什么IP地址?IP地址是他想要确定的。