मेरे पहले स्कैला कार्यक्रम के लिए, मैं एक छोटी उपयोगिता लिखने की कोशिश कर रहा हूं जो एक एक्सएमएल फ़ाइल को एक स्कीमा से दूसरे में परिवर्तित कर देगा।स्केल में कोई भी वापस कैसे करें
मैं एक तरीका है जिसके मुझे फ़ाइल सामग्री दे देंगे लिखना शुरू किया:
def loadFile(filename: String, encoding: String = "utf-8"):Option[String] = {
try
{
val source = scala.io.Source.fromFile(filename, encoding)
val contents = source.mkString
source.close()
return Some(contents)
}
catch
{
return None
}
}
लेकिन यह संकलन नहीं है। मैं वापस आता हूं "मूल्य लागू कुछ भी नहीं है" और "मान परिभाषित है यह कुछ भी नहीं है" लाइन return None
से त्रुटि संदेश के रूप में।
सभी उदाहरण मैं एक विकल्प उपयोग मिलान लौटने में पा सकते हैं, लेकिन यह यहां समझ में नहीं आता है। अगर मैं किसी कारण से फ़ाइल नहीं पढ़ सकता तो मैं बस असफल नहीं होना चाहता हूं।
इस मामले में मुझे क्या करना चाहिए? क्या स्कैला में इस तरह की चीज करने के लिए कोई पैटर्न है?
लेकिन मैं शैली के बारे में निकोलस रीनाउडो से सहमत हूं - कॉलर को यह तय करने दें कि त्रुटि से निपटने का तरीका, जो भी हो।कभी-कभी, कॉलर को त्रुटि भेजने से पहले, आपको कॉलिंग पक्ष (जैसे सफाई कैश या साफ करने के लिए) पर कुछ सामानों को संभालने की आवश्यकता होती है। – ses