gpt4 book ai didi

scala - 使用scala.util.control.Exception

转载 作者:行者123 更新时间:2023-12-03 08:56:54 24 4
gpt4 key购买 nike

有人有使用 scala.util.control.Exception version 2.12.0(version 2.8.0)的好例子吗?我正在努力从类型中找出来。

最佳答案

确实-我也觉得很困惑!这是一个我有一些可能是可解析日期的属性的问题:

def parse(s: String) : Date = new SimpleDateFormat("yyyy-MM-dd").parse(s)
def parseDate = parse(System.getProperty("foo.bar"))

type PE = ParseException
import scala.util.control.Exception._

val d1 = try {
parseDate
} catch {
case e: PE => new Date
}

将其切换为功能形式:
val date =
catching(classOf[PE]) either parseDate fold (_ => new Date, identity(_) )

在上面的代码中,转动 catching(t) either expr将得到 Either[T, E],其中 T是throwable的类型,而 E是表达式的类型。然后可以通过 fold将其转换为特定值。

或再次使用另一个版本:
val date =
handling(classOf[PE]) by (_ => new Date) apply parseDate

这也许更清楚了-以下是等效的:
handling(t) by g apply f 
try { f } catch { case _ : t => g }

关于scala - 使用scala.util.control.Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2903481/

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