1. विशिष्ट अपवाद पकड़ें
हमेशा सबसे विशिष्ट अपवाद को पहले पकड़ें। इससे सटीक समस्या की पहचान करने और उसे उचित तरीके से संभालने में मदद मिलती है।
try { // Code that may throw an exception } catch (FileNotFoundException e) { // Handle FileNotFoundException } catch (IOException e) { // Handle other IOExceptions }
2. खाली कैच ब्लॉक से बचें
खाली कैच ब्लॉक त्रुटियों को छिपा सकते हैं और डिबगिंग को कठिन बना सकते हैं। हमेशा अपवाद लॉग करें या कुछ कार्रवाई करें।
try { // Code that may throw an exception } catch (IOException e) { e.printStackTrace(); // Log the exception }
3. सफ़ाई के लिए अंततः ब्लॉक का उपयोग करें
अंततः ब्लॉक का उपयोग संसाधनों को बंद करने जैसे महत्वपूर्ण कोड को निष्पादित करने के लिए किया जाता है, भले ही कोई अपवाद फेंका गया हो या नहीं।
BufferedReader reader = null; try { reader = new BufferedReader(new FileReader("file.txt")); // Read file } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } }
4. फेंकने योग्य न पकड़ें
थ्रोएबल को पकड़ने से बचें क्योंकि इसमें ऐसी त्रुटियां शामिल हैं जिन्हें पकड़ा नहीं जाना चाहिए, जैसे कि आउटऑफमेमरी एरर।
try { // Code that may throw an exception } catch (Exception e) { e.printStackTrace(); // Catch only exceptions }
5. अपवादों को ठीक से लॉग करें
System.out.println का उपयोग करने के बजाय अपवादों को लॉग करने के लिए Log4j या SLF4J जैसे लॉगिंग फ्रेमवर्क का उपयोग करें।
private static final Logger logger = LoggerFactory.getLogger(MyClass.class); try { // Code that may throw an exception } catch (IOException e) { logger.error("An error occurred", e); }
6. यदि आवश्यक हो तो अपवादों को पुनः फेंकें
कभी-कभी, अपवाद को लॉग इन करने या कुछ कार्रवाई करने के बाद उसे पुनर्स्थापित करना बेहतर होता है।
try { // Code that may throw an exception } catch (IOException e) { logger.error("An error occurred", e); throw e; // Rethrow the exception }
7. मल्टी-कैच ब्लॉक का उपयोग करें
जावा 7 और बाद के संस्करण में, आप एक ही कैच ब्लॉक में कई अपवाद पकड़ सकते हैं।
try { // Code that may throw an exception } catch (IOException | SQLException e) { e.printStackTrace(); // Handle both IOException and SQLException }
8. नियंत्रण प्रवाह के लिए अपवादों का अत्यधिक उपयोग करने से बचें
नियमित नियंत्रण प्रवाह के लिए अपवादों का उपयोग नहीं किया जाना चाहिए। वे असाधारण परिस्थितियों के लिए हैं।
// Avoid this try { int value = Integer.parseInt("abc"); } catch (NumberFormatException e) { // Handle exception } // Prefer this if (isNumeric("abc")) { int value = Integer.parseInt("abc"); }
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3