जवाबों:
रन | देखें ब्रेकप्वाइंट | अपवाद ब्रेकप्वाइंट
संवाद को पॉप अप करने का एक तेज़ तरीका Ctrl+ SHIFT+ F8(मैक: Cmd+ SHIFT+ पर F8) प्रेस करना है , फिर अपवाद ब्रेकपॉइंट टैब पर क्लिक करें। अगर वह आखिरी टैब था जिसे आप देख रहे थे, तब भी उसे चुना जाएगा, जिससे अपवादों को तोड़ना आसान नहीं होगा।
इससे IntelliJ कोड (या लाइब्रेरी कोड) में उस बिंदु पर टूट जाएगा जहां अपवाद उठाया गया था। विशेष रूप से, आपको अपवाद हैंडलिंग पर एक 'पहला मौका' मिलता है, इससे पहले कि स्टैक को पकड़ा जाए / निष्पादित करने के लिए ब्लॉक की तलाश की जाए।
टीआईपी: जावा लोडिंग कक्षाओं के दौरान आंतरिक रूप से बहुत सारे अपवादों को फेंक देता है, इसलिए सभी अपवादों पर यह ब्रेकिंग काफी थकाऊ बन सकता है। अच्छी खबर यह है कि आप हालत क्षेत्र का उपयोग करके कुछ प्रकार के अपवादों को बाहर कर सकते हैं ।
उदाहरण के लिए:
!(this instanceof java.lang.ClassNotFoundException)
आप ऐसी कई स्थितियों को एक साथ जोड़ सकते हैं &&
।
में IntelliJ विचार 14 पर जाएँ:
Run -> View Breakpoints -> Check "Java Exceptions Breakpoints" -> Uncheck "Caught Exceptions"
यदि आप अनचेक नहीं करते हैं तो Caught Exceptions
हर बार Java Framework
आंतरिक अपवाद को फेंकने पर निष्पादन रोक दिया जाएगा ।
रन > व्यू ब्रेकप्वाइंट के तहत इंटेलीज पर नए संस्करणों में ।
फिर जावा एक्सेप्शन ब्रेकप्वाइंट्स की जांच करें -> कोई अपवाद ।
अपवादों को डीबग करने का एक अच्छा तरीका अपने मुख्य ऐप पैकेज और वाइल्ड कार्ड का उपयोग करना है .*
। इस तरह से आप अन्य सभी पुस्तकालयों के अपवादों को छोड़ देते हैं, क्योंकि अधिकांश समय आप अपने ऐप द्वारा फेंके गए अपवादों की तलाश में रहते हैं और किसी अन्य पुस्तकालय द्वारा नहीं (जो कि बहुत सारे अपवाद हो सकते हैं)।
एक उदाहरण के रूप में छवि में दिखाया गया है कि मैं com.gs.mercury.*
हर बार तोड़ने के लिए उपयोग करता हूं ऐप एक अपवाद फेंकता है। यदि आप अपवादों का उपयोग करते हैं तो वे क्या हैं (असाधारण मामलों को संभालने के लिए और सामान्य स्थितियों के प्रवाह को संभालने के लिए नहीं) आप केवल तभी रुकेंगे जब आप लगभग हर समय वांछित अपवाद पर पहुंचेंगे।
पीडी। उत्तर केवल बहुत उपयोगी कैच क्लास फ़िल्टर को इंगित करने के लिए जोड़ा गया ।