小编use*_*116的帖子

未来[Scala中的[AppError,Option [User]]]

正如标题中所提到的,使用这种数据结构是否有意义?让我逐一解释:

  • 未来 - 表示异步计算
  • 要么 - 传达已知错误
  • 选项 - 表示可能不存在该值

看着这个我有点害怕.使用这种类型的组合是一个好习惯吗?

functional-programming scala

7
推荐指数
2
解决办法
149
查看次数

什么是死锁类型?

根据标题,死锁的类型是什么?最近我被问到这个问题,但是我只知道死锁的类型,当线程A正在等待线程B获取的锁,而线程B正在等待线程A获取的锁.是否存在任何其他?

multithreading deadlock

2
推荐指数
1
解决办法
1万
查看次数

编写功能代码,查找功能的例子

我试图根据FP范例转换以下函数:

def findByEmail(email: String): User = {
   val result = jdbc.find("select * from user where email..")
   return result;
}
Run Code Online (Sandbox Code Playgroud)

我的第一次尝试是以下一次:

def findByEmail(email: String): Either[String, Option[User]] = {
   try {
      val result = jdbc.find("select * from user where email..")
   } catch (Exception e) {
      return Left(e.getMessage())
   }

   if (result == null) return Right(None)

   Right(result)
}
Run Code Online (Sandbox Code Playgroud)

我不喜欢的是捕获所有异常的尝试.这样的事情有什么好的做法吗?左侧是否有更好的数据类型而不是String?可以在那里使用Exception类吗?

functional-programming scala

1
推荐指数
1
解决办法
85
查看次数