exception - multiple statements in try/catch block - Java -


मुझे कुछ अनिश्चित है कि यह क्या है:

  try {worldHeight = Integer.parseInt} (जॉप्शनपेन.शोइनपुटडियलोग ("कितने कोशिकाएं दुनिया को उच्च होंगी ?:")); } पकड़ (संख्याफ़ॉर्मेट अपवाद ई) {JOptionPane.showMessageDialog (रिक्त, "आपने एक मान्य संख्या दर्ज नहीं की है"); } {WorldWidth = Integer.parseInt (प्रयास करें। प्रयास करेंडियोलोग ("कितने कक्षों की चौड़ी दुनिया होगी ?:)"); } पकड़ (संख्याफ़ॉर्मेट अपवाद ई) {JOptionPane.showMessageDialog (रिक्त, "आपने एक मान्य संख्या दर्ज नहीं की है"); }  

ऐसा ही काम करेगा:

  try {worldHeight = Integer.parseInt (जॉप्शनपैन। शोइनपुट डायलॉग ("दुनिया कितनी उच्च होगी ?: ")); WorldWidth = पूर्णांक। पैरासेइंन्ट (जॉप्शनपेन। शो इन्पुट डायलॉग ("कितने कक्षों की चौड़ी दुनिया होगी ?:")); } पकड़ (संख्याफ़ॉर्मेट अपवाद ई) {JOptionPane.showMessageDialog (रिक्त, "आपने एक मान्य संख्या दर्ज नहीं की है"); }  

मूल रूप से उपयोगकर्ता को एक संख्या दर्ज करने के लिए चाहते हैं, यदि यह नहीं है तो कोई संख्या अपवाद फेंका जाता है और उपयोगकर्ता को किसी संख्या के लिए फिर से पूछा जाता है?

धन्यवाद

अपने पहले उदाहरण में, दो अलग प्रयास करें ... कैच ब्लॉक के साथ, ऐसा लगता है कि जब कोई अपवाद फेंका जाता है, तो आप सिर्फ एक संवाद दिखा रहे हैं, नियंत्रण के प्रवाह को रोक नहीं सकते।

परिणामस्वरूप, अगर पहले अपवाद है ... पकड़ो , नियंत्रण दूसरा प्रयास करें ... कैच जारी रहेगा और उपयोगकर्ता को दूसरी संख्या दर्ज करने के लिए कहा जाएगा, भले ही इस तथ्य के बावजूद नहीं कि उसने पहले नंबर को सही तरीके से दर्ज नहीं किया। < / P>

दूसरे उदाहरण में, अगर पहले try ... catch में एक अपवाद है, तो उपयोगकर्ता को दूसरे प्रश्न के साथ पेश नहीं किया जाएगा, क्योंकि नियंत्रण के अंदर जारी नहीं रहेगा प्रयास करें ब्लॉक, लेकिन पकड़ ब्लॉक के अंत के बाद।


Comments

Popular posts from this blog

c# - SignalR: "Protocol error: Unknown transport." when navigating to hub -

Camel ProducerTemplate possible memory leak -

javascript - Adhering to a max length setting with jshint -