gpt4 book ai didi

scala - 处理异常以便理解

转载 作者:行者123 更新时间:2023-12-04 19:33:04 26 4
gpt4 key购买 nike

我应该如何处理 for comprehensions 中的潜在异常?在此示例中,我想处理当行格式不正确时发生的 MatchException。我想抛出一个包含行字符串的信息更丰富的异常。问题是行字符串仅在 for 理解内部 中已知,而使用 try/catch 的传统错误处理将在 for 理解外部 .

    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
}

Scala 2.10 的 Try 在这里可能会有帮助,但我仍在使用 2.9.2。

最佳答案

使用匹配运算符似乎更简单

line.split("\t") match {
case Array(a, s, _ @ _*) => (a, s)
case _ => throw new MatchError("Line '"+line+"' not in proper form")
}

关于scala - 处理异常以便理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15528597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com