मैं 5xx त्रुटि कोड को प्रबंधित करने के लिए सामान्य तरीके का उपयोग करना चाहता हूं, चलो विशेष रूप से इस मामले को कहते हैं जब डीबी मेरे पूरे वसंत एप्लिकेशन में नीचे है। मैं एक ढेर ट्रेस के बजाय एक बहुत त्रुटि त्रुटि चाहता हूँ।
नियंत्रकों के लिए मेरे पास @ControllerAdvice
अलग-अलग अपवादों के लिए एक वर्ग है और यह इस मामले को भी पकड़ रहा है कि डीबी अनुरोध के बीच में रोक रहा है। लेकिन यह सब नहीं है। मैं भी एक प्रचलित CorsFilter
प्रचलित है OncePerRequestFilter
और वहाँ जब मैं कॉल doFilter
मैं CannotGetJdbcConnectionException
और यह हो जाएगा द्वारा प्रबंधित नहीं किया जाएगा @ControllerAdvice
। मैंने कई चीजें ऑनलाइन पढ़ीं जो केवल मुझे और भ्रमित करती थीं।
इसलिए मेरे पास बहुत सारे प्रश्न हैं:
- क्या मुझे एक कस्टम फ़िल्टर लागू करने की आवश्यकता है? मैंने पाया
ExceptionTranslationFilter
लेकिन यह केवल संभालती हैAuthenticationException
याAccessDeniedException
। - मैंने अपने स्वयं के कार्यान्वयन के बारे में सोचा
HandlerExceptionResolver
, लेकिन इससे मुझे संदेह हुआ, मेरे पास प्रबंधन करने के लिए कोई कस्टम अपवाद नहीं है, इससे अधिक स्पष्ट तरीका होना चाहिए। मैंने एक कोशिश / कैच जोड़ने और एक कार्यान्वयन को कॉल करने की कोशिश कीHandlerExceptionResolver
(काफी अच्छा होना चाहिए, मेरा अपवाद कुछ खास नहीं है) लेकिन यह प्रतिक्रिया में कुछ भी वापस नहीं कर रहा है, मुझे 200 का दर्जा और एक खाली शरीर मिला है।
क्या इससे निपटने का कोई अच्छा तरीका है? धन्यवाद