Scala函数式编程:我应该使用'throw'还是'throw new'?

时间:2017-03-10 13:57:26

标签: scala

在Scala中进行一些函数式编程,并且来自Java背景,我倾向于抛出这样的异常:

throw new MyException("something is wrong")

但是,我也看到人们省略了new

throw MyException("something is wrong")

哪种更惯用?

1 个答案:

答案 0 :(得分:6)

我认为惯用的方法是完全避免例外,而是使用Either。 Scala是一种功能语言。函数应该返回值,没有副作用。例外是副作用。 Either为您提供了分别定义快乐路径和悲伤路径的方法。