में एकाधिक पैरामीटर के साथ अपवाद मैं जानना चाहता हूं कि एक कन्स्ट्रक्टर (फेंकने योग्य, स्ट्रिंग के लिए अलग) में एकाधिक पैरामीटर के साथ अपवाद बनाना ठीक है या यह अभ्यास खराब है या नहीं?कन्स्ट्रक्टर
मुझे एकाधिक पैरामीटर के साथ अपवाद की आवश्यकता क्यों है, मान लीजिए कि मैं मैट्रिक्स का विश्लेषण कर रहा हूं, और जब कोई त्रुटि हो, तो मैं स्थिति के साथ अपवाद उठाउंगा। मैं अपवाद में एक स्पष्ट त्रुटि संदेश देना चाहता हूं, और मैं अंतर्राष्ट्रीयकरण का उपयोग करना चाहता हूं, इसका मतलब है, विभिन्न भाषाओं में संदेश।
उदाहरण के लिए, संदेशों हो सकता है:
वहाँ स्थान 4 पर एक त्रुटि है, 5.
HUBO संयुक्त राष्ट्र समस्या एन ला फिला 4 चोर columna 5.
आप के रूप में देख सकते हैं, टेक्स्ट दोनों संदेशों के लिए अलग है, और वर्णनात्मक होने के लिए संदेश के लिए मूल्य महत्वपूर्ण हैं।
मेरे दृष्टिकोण कुछ इस तरह है: अपवाद के इस प्रकार के साथ
public class MatrixException extends Exception {
int x;
int y;
public MatrixException (int x, int y){
this.x = x;
this.y = y;
}
public String getMessage(){
return Messages.getString("MatrixException.Message1") + this.x
Messages.getString("MatrixException.Message2") + this.y
Messages.getString("MatrixException.Message3");
}
}
(Messages
वर्ग ResourceBundle
वर्ग को लागू करता है)
, मैं इसी भाषा में एक वर्णनात्मक संदेश बना सकते हैं, लेकिन मैं स्ट्रिंग और थ्रोबल के लिए अलग-अलग पैरामीटर के साथ अपवाद कभी नहीं देखा है।
मैंने एक अच्छी तरह से परिभाषित अपवाद पदानुक्रम लिखने के बारे में जानकारी खोजने का प्रयास किया है, लेकिन वहां बहुत सारे दस्तावेज नहीं हैं, और रचनाकारों के बारे में कुछ भी नहीं है।
मेरे दृष्टिकोण के बारे में आप क्या सोचते हैं?
यह कोशिश करने और यह काम करने के तरीके के बारे में कैसे? एसओ आमतौर पर कंक्रीट समस्याओं के बारे में ठोस प्रश्नों के लिए है, जो कि क्या-ifs के बारे में निष्क्रिय संगीत के बजाय है। –