2009-06-01 16 views
236

क्या ऐसी सुविधा है जो स्वचालित रूप से पहली अपवाद घटना पर डिबगिंग को तोड़ देगी?इंटेलिजे में "अपवाद तोड़ना" है?

तो हम

  1. शुरू आवेदन
  2. कि अपवाद
  3. मिला इंटेलीजे हाइलाइट किए गए लाइन जहां अपवाद घटित ऊपर पॉप फेंक कुछ करना।

उत्तर

279

रन | ब्रेकपॉइंट्स देखें | अपवाद ब्रेकपॉइंट्स

12

हां, वहां है। IntelliJ IDEA में ब्रेकपॉइंट्स संवाद में आपको एक अपवाद ब्रेकपॉइंट (यह "कोई अपवाद" हो सकता है) को परिभाषित करने की आवश्यकता है।

अपवादों को वांछित स्थिति या कक्षा द्वारा फ़िल्टर किया जा सकता है, या चाहे आप पकड़े गए या बेजोड़ अपवादों में रुचि रखते हैं। , तो अधिक अपवाद breakpoints के लिए क्लिक करें:

118

संवाद पॉप अप करने के लिए एक तेजी से रास्ता Ctrl +शिफ्ट + F8 (Cmd + शिफ्ट + F8 मैक पर) प्रेस करने के लिए है टैब। यदि वह अंतिम टैब था जिसे आप देख रहे थे, तो यह अभी भी चुना जाएगा, जिससे अपवादों को तोड़ना और बंद करना आसान हो जाता है।

इससे इंटेलिजे को कोड (या लाइब्रेरी कोड) में बिंदु पर तोड़ने का कारण बन जाएगा जहां अपवाद उठाया गया था। विशेष रूप से, आपको अपवाद हैंडलिंग पर 'पहला मौका' मिलता है, इससे पहले कि स्टैक चलने के लिए देख रहा है/आखिरकार निष्पादित करने के लिए ब्लॉक।


सुझाव: जावा आंतरिक रूप से जब कक्षाओं लोड हो रहा है अपवाद का एक बहुत फेंक देता है, इसलिए सभी अपवादों पर इस तोड़ने काफी थकाऊ बन सकता है। अच्छी खबर यह है कि आप स्थिति फ़ील्ड का उपयोग करके कुछ प्रकार के अपवाद को बाहर कर सकते हैं। && साथ

!(this instanceof java.lang.ClassNotFoundException) 

आप कर सकते हैं श्रृंखला कई तरह की स्थितियों एक साथ:

उदाहरण के लिए।

enter image description here

+0

जब अपवाद होता है तो आईडीईए हाइलाइट सही रेखा नहीं है - मैं क्या कर सकता हूं? –

+1

@VitalyZdanevich, मुझे नहीं पता। आपको एक नया सवाल पूछना चाहिए। –

+0

@VitalyZdanevich, कार्यक्रम को दोबारा सम्मिलित करें। डीबग-फाइल शायद –

4

आप ऊपरी बाएँ कोने में छोटा "+" चिह्न पर क्लिक करते हैं, आप एक नया ब्रेकप्वाइंट जोड़ सकते हैं। यदि आप अपवाद ब्रेकपॉइंट का चयन करते हैं, तो आपको एक छोटा सा संवाद मिलता है जहां आप ब्रेक करने के लिए अपवाद वर्ग दर्ज कर सकते हैं (यदि आप सभी अपवादों को तोड़ना नहीं चाहते हैं)।

40

IntelliJ विचार में 14 पर जाएँ:

Run -> View Breakpoints -> Check "Java Exceptions Breakpoints" -> Uncheck "Caught Exceptions"

आप Caught Exceptions सही का निशान नहीं है, तो निष्पादन हर बार Java Framework एक आंतरिक अपवाद फेंकता रोक दिया जाएगा।

+1

भागो -> ब्रेकपॉइंट्स देखें ... -> "जावा अपवाद ब्रेकपॉइंट्स" की जांच करें -> "अपवाद पकड़े गए" अनचेक करें – Jonas

+2

दुर्भाग्यवश, यह अभी भी "पकड़े गए अपवाद" को अक्षम करने के बाद भी मेरे लिए पकड़े गए अपवादों पर टूट जाता है। – Carcigenicate

+1

'पकड़े गए अपवाद' को अनचेक करना ठीक वही है जो मैं ढूंढ रहा था! यह कैसे अधिक नहीं है! – Dylanthepiguy

संबंधित मुद्दे