2012-10-17 24 views
6

मैं जब NetBeans में एक आवेदन डिबग करने के लिए कोशिश कर रहा है निम्न त्रुटि संदेश प्राप्त हुआ है में एक गुमनाम आंतरिक वर्ग की पहचान कर सकते हैं:कैसे मैं एक NotSerializableException

java.io.WriteAbortedException: गर्भपात लिख; java.io.NotSerializableException: board.Board $ 1

डिबगिंग मैं डालने के लिए पड़ा है के पाठ्यक्रम में 'Serializable लागू करता है' वर्गों की संख्या में के रूप में अपवाद है कि एक संग्रहीत करता है एक फ़ाइल से पढ़ने के दौरान पैदा हुई बड़ी वस्तु यह मुश्किल नहीं है क्योंकि कक्षा को ध्यान देने की आवश्यकता अपवाद संदेश से स्पष्ट हो गई है। मुझे क्या फेंक दिया गया है अज्ञात अज्ञात आंतरिक वर्ग 'बोर्ड $ 1'। मैं अपने जीवन के लिए स्रोत 'बोर्ड' के साथ स्रोत की पहचान नहीं कर सकता जो समस्या पैदा कर रहा है। मैं यह कैसे कर सकता हूँ?

चूंकि यह कोड के विनिर्देशों के बजाय डीबगिंग अभ्यास का सवाल है (मुझे लगता है) मैंने इसे शामिल नहीं किया है, लेकिन अगर यह मदद करता है तो मैं इसे आसानी से जोड़ सकता हूं।

उत्तर

5

Board$1Board.java में पहली अज्ञात कक्षा का सामना करना पड़ा। उदाहरण के लिए:

class Board { 
    public static void main(String[] args) { 
    new Object() {}; // Board$1 
    new Object() {}; // Board$2 
    } 
} 

ग्रहण जैसे आईडीई के साथ, इन अज्ञात वर्गों को रूपरेखा दृश्य में देखना आसान है।

enter image description here

+0

मैंने अपनी फाइलों को एक्लिप्स में कॉपी किया और बोर्ड में खोदने के लिए पैकेज एक्सप्लोरर का उपयोग किया लेकिन कुछ भी नहीं मिला। लेकिन आपके द्वारा उपयोग किए गए हस्ताक्षर के आधार पर, नया ऑब्जेक्ट() {}, मुझे नया माउस एडाप्टर() {...} मिला, जो ग्रहण या नेटबीन में दिखाई नहीं दे रहा था। मैंने फ़ाइल में लिखे जाने से रोकने के लिए क्षणिक डाला। ऐसा लगता है कि काम करना प्रतीत होता है, लेकिन अब मेरे पास एक और असंबंधित बग है ... मैं अब उस पर काम करूंगा, मान लीजिए कि मैंने इसे हल कर लिया है। – forsate

+0

ठीक है - अन्य असंबद्ध बग को मूल समस्या के रूप में तय किया गया है। हिंडसाइट में स्पष्ट। बहुत धन्यवाद, लुकास। अब मैं सोच रहा हूं कि मेरे हिस्से पर कुछ संदिग्ध कोड माउसएडाप्टर के लिए कारण नहीं दिख रहा है, लेकिन यह एक और मुद्दा है। – forsate

3

इंटेलीजे (और Android स्टूडियो) में एक Navigate- सकते हैं> कक्षा (मैक पर ⌘-O) और Board$1 में पेस्ट, और यह करने के लिए ले जाएगा: मुझे यकीन है कि NetBeans हूँ समान दृश्य दिखाई देते हैं उस आंतरिक वर्ग के लिए कोड।

+0

ने नेटबीन्स 8 की जांच की और नेविगेटर पैनल में गुमनाम आंतरिक कक्षाओं को दिखाने का तरीका नहीं समझ पाया या IntelliJ = / –