exception - spring @ExceptionHandler -
सभी, मेरे नियंत्रक:
@RequestMapping (method = RequestMethod.GET, value = "/ खोज") @ रिस्पॉंसबॉडी सार्वजनिक कब्रिस्तान रीसस्पॉन्शन & lt; सूची & lt; स्ट्रिंग & gt; & gt; खोज (@RevenParam ("स्थान") स्थान स्थान) {कब्रिस्तानरस्ट्रेसपॉइंट & lt; सूची & lt; स्ट्रिंग & gt; & gt; RestResponse = नया कब्रिस्तान रीसस्पेंस & lt; सूची & lt; स्ट्रिंग & gt; & gt; (); RestResponse.setBody (नया ArrayList & lt; स्ट्रिंग & gt; ()); लांग ए = लांग.वल्यूउफ़ ("एएएए"); कोशिश करें {के लिए (सार्वजनिक कमेन्ट्री कब्रिस्तान: कब्रिस्तानडीओ.फंडबाय लोकेशन (स्थान)) {restResponse.getBody ()। जोड़ें (कब्रिस्तान .getNameCn ()); }} पकड़ (अपवाद ई) {try {नया SQLException फेंकना}; } पकड़ (SQLException e1) {e1.printStackTrace (); }} RestResponse.setSuccess (सच); रिटर्न ब्रेस्ट रीस्पॉन्स; } एक ही नियंत्रक में मेरे एक्स्प्लेशन हैंडल विधि:
@ExceptionHandler (मान = {अपवाद। वर्ग, SQLException.class, IllegalArgumentException.class, NumberFormatException .class}) @ रिस्पॉंसबॉडी सार्वजनिक कब्रिस्तान रीसस्पेंस & lt; स्ट्रिंग & gt; अपवादहैंडलर (अपवाद ई, एसक्ल्यूक्सेप्शन ई 2, अवैध एग्रीगमेंट एक्सपेशन्शन ई 3, नंबरफ़ॉर्मैट एक्स्पेप्शन ई 4) {कब्रिस्तानरेशरपेशन्स & lt; स्ट्रिंग & gt; RestResponse = नया कब्रिस्तान रीसस्पेंस & lt; स्ट्रिंग & gt; (); RestResponse.setFailureMessageCn ("डेटा बेस अपवाद"); restResponse.setSuccess (गलत); रिटर्न ब्रेस्ट रीस्पॉन्स; } जब खोज विधि trhow SQLException और NumberFormatException @ExceptionHandler को नियंत्रित नहीं कर सकता धन्यवाद!
आप अपवाद को पकड़ते हैं (सभी अपवाद), और फिर नया SQLException । आप तुरंत SQLException पकड़ और उसके स्टैकट्र्रेस प्रिंट। खोज पद्धति कभी भी किसी भी अपवाद को फेंक नहीं देगी। कोशिश-पकड़ को चारों ओर से निकालें
नया SQLException फेंकें (); और इसे काम करना चाहिए लेकिन कृपया अपने अपवाद से निपटने पर पुनर्विचार करें (सभी अपवादों को न पकड़ें और फिर एक अन्य प्रकार के अपवाद को फेंक दें)।
Comments
Post a Comment