Bug with MongoClient?



我正在使用mongo-java-driver-2.12.4

 import com.mongodb.MongoClient;
 import java.net.UnknownHostException;
 class Test{
    public static void main(String args[]){
    try{
       MongoClient mc = new MongoClient("hello",27110);
       }catch(UnknownHostException e){
          System.out.println("this is unknown");
       }
       System.out.println("whhaattt");
  }
}

任何理智的人都会说,这个代码段的输出应该是"这是未知的"。出于某种原因,这不适合我。它是"whhaattt"。为什么?我完全被难住了。

编辑:所以"hello"在内部网络上得到了解析,但是如果我用不同的值(如1290310923809132)代替"hello",仍然不会引发异常。但是,InetAddress.getByName() 方法在运行时会抛出 UnknownHostException。

所以这实际上是一个错误!我将其提交给MongoDB错误跟踪器,他们说他们从2.12.x版本开始对其进行了更改;但是,他们没有删除"抛出未知主机异常"存根。他们在javadoc中添加了一条评论,指出不再抛出异常...这意味着你可以有一个无效的MongoClient对象。删除此异常会破坏源兼容性 ->即使二进制兼容性是可以的。

最新更新