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

Jam*_*ier 2 scala

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

throw new MyException("something is wrong")
Run Code Online (Sandbox Code Playgroud)

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

throw MyException("something is wrong")
Run Code Online (Sandbox Code Playgroud)

哪个更惯用?

Sea*_*oyd 6

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

  • @ cricket_007当然,在你自己的回答中提出建议:-) (2认同)