【发布时间】:2016-06-27 20:28:37
【问题描述】:
我有一些函数可以(可能)产生 StackOverflowError。当然,这是一个糟糕设计的标志,但现在我决定将它包装到 Try 中。
Try{
Calculator.eval(..)
}
我期望的结果是 Failure(java.lang.StackOverflowError)。 我得到的结果只是 java.lang.StackOverflowError。我想问题是 StackOverflowError 不是异常,而是一个错误。如果是,有什么方法可以通过使用 Try 或其他一些 monad 来“捕捉”这些错误?
【问题讨论】: