我應該如何處理理解中的潛在異常?在這個例子中,我想處理MatchException
,當行格式不正確時出現。我想拋出一個更多信息的例外,包括行字符串。問題是行字符串只知道裏面的用於理解,但傳統的錯誤處理用try/catch
會是以外的的理解。處理理解異常
val gold = Resource.using (Source.fromFile(file)) { source =>
(for {
line <- source.getLines
Array(annotation, string, _ @ _*) = line.split("\t")
boolean = if (annotation == "1") true else false
} yield {
string -> boolean
}).toMap
}
斯卡拉2.10的Try
可能會有所幫助在這裏,但我仍然在2.9.2。
貌似[嘗試是回遷到2.9.3(http://www.scala-lang.org/api/2.9.3/index.html #scala.util.Try)以及Futures和Promises,因此您可以輕鬆遷移到2.9.3(與2.9.1/2進行二進制兼容,只是交換工件)並享受它。 – 2013-03-20 16:04:29
酷,我仍然不知道我會如何使用它來獲得行文本。 – schmmd 2013-03-20 16:14:21