为什么scala.util.Success.apply无限递归?

时间:2015-10-08 13:22:19

标签: scala recursion try-catch

scala.util.Success没有apply方法,但继承了scala.util.Try(AFAIK)中的方法。但scala.util.Try.apply所做的只是调用Success.applytry catch块包围。这怎么不是无限递归的,它如何触发catch块?

1 个答案:

答案 0 :(得分:6)

不,scala的Success案例类,它继承了abstract class Try。 因此,apply方法是由scala编译器生成的内置方法,不是从对象Try继承的。

来源https://github.com/scala/scala/blob/2.11.x/src/library/scala/util/Try.scala#L225

相关问题