मेरा एक कार्यक्रम में मैं सभी अपवादों को पकड़ना चाहता हूं और उन्हें स्पष्ट रूप से प्रिंट करना चाहता हूं (अंततः अपवादों को देखते हुए आगे बढ़ने में सक्षम होने के लिए)।इसे मुद्रित करने के लिए स्कैला में अपवाद के स्टैक ट्रेस कैसे प्राप्त करें?
तो मैं इस की कोशिश की है:
try {
...
}
catch {
case ex : Exception => {
println ("\n" + ex)
println ("\n" + ex.getStackTrace + "\n")
}
}
finally {
...
}
लेकिन इस (getStackTrace का प्रयोग करके) अपने आप का कारण बनता है "java.lang.OutOfMemoryError: PermGen अंतरिक्ष"। मैं क्या गलत कर रहा हूं? मुझे यकीन है कि यह प्राप्त करने से पहले मेरे पास बहुत सारी मुफ्त JVM हीप मेमोरी है (जैसा कि मैंने प्रोग्राम की शुरुआत में अपवाद पैदा करने का प्रयास किया है)।
अपवाद किस तरह 'try' में फेंक दिया गया था ब्लॉक? –
@ लार्समैन, यह एक अवैध अर्ग्यूमेंट अपवाद है और मैंने इसे अपने आप से फेंक दिया। – Ivan
क्या आप स्कैला 2.7.एक्स या स्कैला 2.8.x का उपयोग करते हैं? – soc