我从一些人那里听说,在 Scala 中,我们倾向于(像其他函数式语言一样)不破坏控制流......相反,按照惯例,我们在Either Left.
但是我们如何从那个异常中得到 stracktrace 呢?现在我在左侧返回一个简单的Error案例类,其中包含代码、消息和原因(Error也)。但是,如果我有错误,我无法获得堆栈跟踪。如果我的应用程序变得复杂,可能很难找到返回的代码块Error......根本原因是必不可少的。
那么我们在实践中该怎么做呢?
我应该返回,而不是自定义Error的 java 类型Exception还是Throwable我的Left?在不丢失堆栈跟踪和原因等重要信息的情况下,Scala 异常处理的最佳实践是什么?