क्या यह संभव है? किस परिदृश्य में ऐसे प्रारंभिक अपवादों को फेंक दिया जा सकता है ??
यह एक अनुरूप जावा कंपाइलर और अनुरूप जावा वर्चुअल मशीन का उपयोग करना संभव नहीं है, और विस्तार से एक अनुरूप डेवलिक वर्चुअल मशीन का उपयोग करना संभव नहीं है। JLS e
चर कि स्थान
या तो आप एक गाड़ी आभासी मशीन, एक गाड़ी डिबगर, या अपने आईडीई के साथ एक समस्या मिल गया है पर null
होने के लिए, उपकरण और/या प्रक्रिया का निर्माण की अनुमति नहीं है।
यदि मैं आपकी स्थिति में था, तो मैं अब के लिए डीबगर का उपयोग करना बंद कर दूंगा, और पुराने कोड वाले ट्रेसप्रिंट को अपने कोड में जोड़ने पर वापस आऊंगा। और सुनिश्चित करें कि आप स्रोत से एक साफ और पूर्ण निर्माण करते हैं।
एक अन्य संभावना पर विचार कर सकते है कि लाइन नंबर कि JRE कार्यावधि में रिपोर्ट कर रहा है (और है कि डिबगर पर निर्भर होता है) स्रोत कोड में लाइन संख्या के साथ अस्तर नहीं हैं। ऐसा तब हो सकता है जब आपने अपने निर्माण और तैनाती प्रक्रियाओं में कोई गलती की हो। गलती कुछ ऐसी फाइल हो सकती है जो फ़ाइल को सहेजना भूल जाए, बिल्ड करना भूल जाए, ऐप के नए संस्करण को तैनात करना भूल जाए या फाइल सिस्टम के साथ अपना आईडीई सिंक हो।
Fwiw, सिद्धांत यह है कि इस throw null;
के कारण होता है या कुछ बराबर पानी पकड़ नहीं करता है। JLS section 14.18 का कहना है:
"अभिव्यक्ति के मूल्यांकन सामान्य रूप से पूर्ण करता है, एक शून्य मान उत्पादन, तो वर्ग NullPointerException का एक उदाहरण वी 'बनाया है और बातिल के बजाय फेंक दिया है।"
यह समझना महत्वपूर्ण है अगर आप अपने संदर्भ में उस वाक्य पढ़ा आसान है, लेकिन यह स्पष्ट रूप से कह रही है कि throw null;
वास्तव में एक NullPointerException
फेंकता है। , Exception is NULL always
असल में, यह कह रही है कि नकल करते कोड एक अपवाद है कि ग्रहण के बारे में पता नहीं है फेंक है:
अद्यतन
मैं इस तो सवाल में एक और प्रशंसनीय विवरण पाया और ग्रहण एमुलेटर null
को प्रतिस्थापित करने में "मददगार" है। यह एक एमुलेटर बग की तरह लगता है।
'फेंक शून्य;'? – Dimme
Pls। कोड नमूना फेंकने अपवाद जोड़ें। – Azodious
यह सिर्फ पहले से जुड़े डिवाइस के साथ एक ब्लूटूथइनपुटस्ट्रीम.read() कॉल है ... लेकिन अगर कोई दिलचस्पी लेता है तो मैं एक स्नैपशॉट को सबूत के रूप में डालने की कोशिश कर रहा हूं ...... – Prasham