मैं किसी समस्या को हल करने के लिए अपने आवेदन में मैं इस कोडexception.getMessage() वर्ग के नाम के साथ उत्पादन
try {
object1.method1();
} catch(Exception ex) {
JOptionPane.showMessageDialog(nulll, "Error: "+ex.getMessage());
}
और object1 ऐसा ही कुछ करना होगा है कोशिश कर रहा हूँ,:
public void method1() {
//some code...
throw new RuntimeException("Cannot move file");
}
मैं इस तरह मेरे विकल्प फलक में एक पृष्ठभूमि में मिलती है: Error: java.lang.RuntimeException: Cannot move file
लेकिन मैं getMessage
और नहीं toString
विधि, इसलिए वर्ग श के नाम का इस्तेमाल किया प्रकट नहीं होगा, है ना?
मैं क्या गलत कर रहा हूं? मैंने पहले से ही बहुत सारे अपवादों का प्रयास किया है, यहां तक कि Exception
भी। मैं अपने Exception
सबक्लास
समस्या को हल करने की आवश्यकता के बिना इस नंबर को हल करने के लिए देख रहा हूं - सबको धन्यवाद!
ट्राई एवं कैच वास्तव में प्राप्त() जो मेरे अपवाद के साथ एक ExecutionException
doInBackground() से फेंका निर्माण करती SwingWorker से विधि में बुलाया जा रहा था मैं यह कर निश्चित:
@Override
protected void done() {
try {
Object u = (Object) get();
//do whatever u want
} catch(ExecutionException ex) {
JOptionPane.showMessageDialog(null, "Error: "+ex.getCause().getMessage());
} catch(Exception ex) {
JOptionPane.showMessageDialog(null, "Error: "+ex.getMessage());
}
}
अजीब लगता है - आप इस एक छोटा लेकिन पूरा कार्यक्रम में पुन: पेश कर सकते हैं? –
क्या आप 'e.printStackTrace()' साथ ही 'पकड़ 'में जोड़ सकते हैं? ऐसा लगता है कि @ डेकवे सही है। –
स्टैक ट्रेस को देखते हुए मैं देख सकता हूं कि समस्या स्विंग वर्कर हो सकती है ....... कोशिश {} वास्तव में स्विंग कार्यकर्ता विधि() से प्राप्त() को कॉल कर रही है और अपवाद को डिनबैकग्राउंड – fredcrs