मैंने कुछ लोगों से सुना है कि स्कैला में हम नियंत्रण प्रवाह को तोड़ने के लिए (अन्य कार्यात्मक भाषाओं की तरह) होते हैं ... इसके बजाय हम Either
Left
में त्रुटि लौटाते हैं।या तो विफलताओं को संभालना -> स्टैकट्रैक कहां है?
लेकिन हम उस अपवाद से स्ट्रैट्रैस कैसे प्राप्त करते हैं? अब के लिए मैं बाएं में एक साधारण Error
केस क्लास को कोड, संदेश और कारण (Error
) के साथ वापस लौटाता हूं। लेकिन अगर मुझे कोई त्रुटि है, तो मुझे स्टैकट्रैक नहीं मिल सकता है। यदि मेरा आवेदन जटिल हो गया है तो उस कोड ब्लॉक को ढूंढना मुश्किल हो सकता है जो Error
लौटा ... मूल कारण आवश्यक है।
तो हम अभ्यास में क्या करते हैं?
मैं वापस चाहिए, एक कस्टम Error
, जावा प्रकार Exception
या Throwable
मेरी Left
में के बजाय? स्टैक्टास और कारण जैसे महत्वपूर्ण सूचनाओं को खोए बिना स्कैला अपवाद हैंडलिंग के लिए सबसे अच्छा अभ्यास क्या है?
आगामी स्कैला 2.10 में एक नोट के रूप में, [कोशिश भी है] (http://blog.richdougherty.com/2012/06/error-handling-with-scalas-try.html) त्रुटि प्रबंधन –
@ ओम-नाम-नाम धन्यवाद यह वास्तव में अच्छा लगता है! –