आप MongoSecurityException को नहीं पकड़ सकते क्योंकि इसे बैकग्राउंड थ्रेड में फेंका जाता है।
आप 'सिंक्रोनस' को संभालने के लिए MongoTimeoutException की प्रतीक्षा कर सकते हैं:
MongoClientOptions clientOptions = new MongoClientOptions.Builder().serverSelectionTimeout(500).build();
mongoClient = new MongoClient(serverAddress, Collections.singletonList(credential), clientOptions);
try {
String address = mongoClient.getConnectPoint();
System.out.println(address);
}catch (Throwable e){
System.out.println(e);
}
या आप सर्वर लिस्टनर को लागू कर सकते हैं और अतुल्यकालिक रूप से संभाल सकते हैं
{
MongoClientOptions clientOptions = new MongoClientOptions.Builder().addServerListener(this).build();
mongoClient = new MongoClient(host1, Collections.singletonList(credential), clientOptions);
}
@Override
public void serverDescriptionChanged(ServerDescriptionChangedEvent event) {
Throwable exception = event.getNewDescription().getException();
handle(exception);
}