Java Mongodb Driver Как вы поймаете исключения?JAVA

Программисты JAVA общаются здесь
Anonymous
Java Mongodb Driver Как вы поймаете исключения?

Сообщение Anonymous »

Я хочу иметь возможность обнаружить, доступен ли сервер Mongo у драйвера Java с целью реагирования на любые ненормальные события, как это было бы на земле JDBC и т. Д. Все работает нормально, когда сервер встает, но я изо всех сил пытаюсь понять, почему так трудно обнаружить ошибки. У меня такое ощущение, потому что клиент Mongo работает в другой ветке, и он не бросает ко мне или что -то в этом роде? < /P>

Код: Выделить всё

try {
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase db = mongoClient.getDatabase("mydb");
// if db is down or error getting people collection handle it in catch block
MongoCollection people = commentarr.getCollection("people");
} catch (Exception e) {
// handle server down or failed query here.
}
< /code>

Результат < /p>

INFO: Exception in monitor thread while connecting to server localhost:27017
< /code>

С помощью полученного трассировки стека, содержащего несколько различных исключений, которые я пытался поймать, но мои блоки улова все еще ничего не делали. < /p>

com.mongodb.MongoSocketOpenException: Exception opening socket
Caused by: java.net.ConnectException: Connection refused
Я использую драйвер Java mongodb 3.0.4, большинство сообщений, которые я читаю, взяты из более старых API с такими хаками, как mongoclient.getDatabasEnames () , который бросает mongoException , если это не так и не заменяет. Бросить семантику. < /p>

есть ли способ просто выполнить монго -запрос от водителя Java в блоке Try Catch и на самом деле заставил исключение? < /p>

Подробнее здесь: https://stackoverflow.com/questions/345 ... exceptions

Вернуться в «JAVA»