2012-11-06 12 views
18

पर अशक्त हो जाता है मैं निम्नलिखित है:जावा फेंक ई एंड्रॉयड

 try { 
     response.statusCode = urlConnection.getResponseCode();  
    } catch(IOException e) { 
     throw e; 
    } 

मैं डिबगर को देखो और e = UnknownHostException

फेंक करने के बाद मेरे पास है:

try { 
     NetworkResponse response = NetworkHelper.getByURL(url); 
    } catch(Exception e) { <------- IT LANDS HERE, BUT e=null 
     ExceptionHelper.announce(e);   
     throw e; 
    } 
फेंक के बाद

तो मेरा कैच ब्लॉक अपवाद प्राप्त करता है लेकिन यह शून्य है। डीबगर ई = शून्य दिखाता है।

मुझे नहीं पता कि यह क्यों होगा।

+0

क्या आप कॉल पदानुक्रम दिखा सकते हैं? – home

+1

क्या आप अगली पंक्ति पर जाने के बाद भी अभी भी शून्य हैं? –

+7

e.printStackTrace() को आज़माएं और देखें कि यह प्रिंट करता है या नहीं, फिर e.getMessage() आज़माएं और देखें कि क्या Message() शून्य है। यदि यह है (जो मुझे लगता है), ऐसा इसलिए है क्योंकि आप अपवाद (शीर्ष स्तर) फेंक रहे हैं और एक विशिष्ट अपवाद नहीं है। – Carnal

उत्तर

1

यदि आप तुरंत इसे फिर से उखाड़ फेंकते हैं तो मुझे अपवाद को पकड़ने का बिंदु भी नहीं दिखता है। उस विधि में throws IOException जोड़ें और अन्य catch इसे संभाल दें।

+0

जबकि आपका तर्क आम तौर पर मान्य है, इस मामले में यह मदद नहीं करता है: ओपी ने पहले ही इसे समझाया है, उसके पास पकड़ ब्लॉक में अन्य निर्देश भी हैं, जैसे कि लॉगिंग आदि। – ppeterka

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