Как перехватить исключение при создании экземпляра MongoClient
Я использую Java-драйвер Mongo DB для подключения к экземпляру Mongo. Ниже приведен код, который я использую для создания экземпляра MongoClient.
try {
new MongoClient("localhost", 1111);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Если имя хоста или номер порта не верны, я получу ниже исключения. Я странствую, как я могу поймать эти исключения. Подключение MongoDB происходит во внутреннем потоке, который не может быть перехвачен клиентским кодом. Я хочу знать, правильно ли подключен MongoClient. Как я могу получить эту информацию?
INFO: Exception in monitor thread while connecting to server localhost:0
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.connection.SocketStream.open(SocketStream.java:63)
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115)
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:116)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Can't assign requested address (connect failed)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:50)
at com.mongodb.connection.SocketStream.open(SocketStream.java:58)
... 3 more
EDIT1
Показанные выше исключения не улавливаются моим кодом. Это можно поймать по коду Монго. Так что я не знаю, правильно ли создан экземпляр или нет.