我想抛出一个异常,当用户输入无效的 IP 地址、主机名或不是完全限定的域名时,它会显示一条错误消息。
我不太确定是否使用unknownhostexception或IOException。
我尝试执行 if 语句,但我不知道 java 中的“无效”是什么。
If (addr != ' not a valid IP address, host name, fully qualified domain name or entered something invalid ')
{
throw new IOException/UnknownHostException("this is invalid: " + addr); }
有人可以帮忙吗?提前致谢。
最佳答案
尝试 InetAddress.getByName(str)
验证字符串。如果需要的话,它会抛出一个UnknownHostException
。我建议完全删除您的 if
语句。也许是这样的:
public static InetAddress testAddress(String str) throws UnknownHostException {
InetAddress add = InetAddress.getByName(str);
// Check if IP address was simply returned, instead of host.
if (add.getCanonicalHostName().equals(add.getHostAddress())) {
throw new UnknownHostException(str + "is not a known host.");
}
return add;
}
关于Java - 如果用户输入无效的 IP 地址或主机名,则抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15279726/