क्या तर्क लिखने के लिए ब्लॉक्स को पकड़ना चाहिए अर्थात फ्लो कंट्रोल आदि को हैंडल करना चाहिए? या सिर्फ अपवाद फेंकने के लिए? क्या यह दक्षता या कोड की स्थिरता को प्रभावित करता है?
कैच ब्लॉक में लॉजिक लिखने के क्या साइड इफेक्ट्स (यदि कोई हैं) हैं?
संपादित करें:
मैंने एक जावा एसडीके वर्ग देखा है जिसमें उन्होंने कैच ब्लॉक के अंदर तर्क लिखे हैं। उदाहरण के लिए ( java.lang.Integer
क्लास से लिया गया स्निपेट ):
try {
result = Integer.valueOf(nm.substring(index), radix);
result = negative ? new Integer(-result.intValue()) : result;
} catch (NumberFormatException e) {
String constant = negative ? new String("-" + nm.substring(index))
: nm.substring(index);
result = Integer.valueOf(constant, radix);
}
EDIT2 :
मैं एक ऐसे ट्यूटोरियल से गुज़र रहा था जहाँ वे अपवादों के अंदर असाधारण मामलों के तर्क लिखने के एक लाभ के रूप में गिनते थे:
अपवाद आपको अपने कोड के मुख्य प्रवाह को लिखने और कहीं और असाधारण मामलों से निपटने में सक्षम बनाते हैं।
कोई विशेष दिशा-निर्देश जब कैच ब्लॉक में तर्क लिखना है और कब नहीं?