मैं यह पता लगाने में सक्षम होना चाहता हूं कि किसी भी असामान्य घटनाओं पर प्रतिक्रिया करने के उद्देश्य से जावा ड्राइवर से एक मोंगो सर्वर उपलब्ध है, जैसा कि कोई जेडीबीसी भूमि आदि में होगा। यह सर्वर ठीक होने पर ठीक काम करता है लेकिन मैं संघर्ष कर रहा हूं समझें कि त्रुटियों का पता लगाना इतना मुश्किल क्यों है। मुझे इसकी भावना है क्योंकि मोंगो क्लाइंट एक अलग धागे में चलता है और यह मुझे या कुछ फेंक नहीं देता है?जावा mongodb ड्राइवर आप अपवाद कैसे पकड़ते हैं?
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<Document> people = commentarr.getCollection("people");
} catch (Exception e) {
// handle server down or failed query here.
}
परिणाम
INFO: Exception in monitor thread while connecting to server localhost:27017
कुछ अलग अपवाद जो मैं पकड़ने के लिए, लेकिन मेरी पकड़ ब्लॉक अभी भी कुछ नहीं किया की कोशिश की है, जिसके परिणामस्वरूप युक्त स्टैक ट्रेस के साथ
है।
com.mongodb.MongoSocketOpenException: Exception opening socket
Caused by: java.net.ConnectException: Connection refused
मैं जावा MongoDB चालक 3.0.4 का उपयोग कर रहा है, सबसे अधिक पदों मैंने पढ़ा MongoClient.getDatabaseNames()
तरह हैक्स के साथ एक पुराने एपीआई से कर रहे हैं जो एक MongoException
यदि त्रुटियों फेंकता है, सिवाय इस अब पदावनत और MongoClient.listDatabaseNames()
जो नहीं करता है साथ बदल दिया है ' semantics फेंकने में एक ही त्रुटि है।
क्या जावा चालक से मोगो क्वेरी को निष्पादित करने के लिए एक तरीका है, वास्तव में अपवाद पकड़ा गया है और वास्तव में अपवाद पकड़ा गया है?
@Alexander Kondaurov क्या आप इस उत्तर को देख सकते हैं? http://stackoverflow.com/questions/40813060/how-to-catch-exception-when-creating-mongoclient-instance/40814641#40814641। यदि आप कुछ विशिष्ट खोज रहे हैं तो कृपया पोस्ट में जोड़ें। – Veeram