0
我有很强的Objective-C背景,我正在编写Scala。
在Objective-C异常中,用于指示不可恢复(主要)错误。在可能导致错误的方法中有NSError **合同。斯卡拉与Objective-C NSError相比未来的异常合同**
鉴于Play WebServices如果未来失败,我应该预期哪些异常?合同在哪里?
我有很强的Objective-C背景,我正在编写Scala。
在Objective-C异常中,用于指示不可恢复(主要)错误。在可能导致错误的方法中有NSError **合同。斯卡拉与Objective-C NSError相比未来的异常合同**
鉴于Play WebServices如果未来失败,我应该预期哪些异常?合同在哪里?
Future
分别代表使用scala.util.Success
和scala.util.Failure
的成功和失败案例。
您可以在文档中看到,Failure
持有Throwable
,所以在Future
的执行发生任何异常将被包装成Failure
值。
因此没有合同规定了一个失败Future
可以容纳的异常类型:您可以期待任何Throwable
实例。
即使在Objective-C
也没有正式的合同,表明期望哪种NSError
。你只是知道计算可能会失败(在这种情况下同步),这与Future
(尽管是异步)是一样的。
是的。我知道。问题是在恢复期望有什么异常 – 2014-10-01 14:32:20
查看我的更新。基本上,执行'Future'时可能发生的任何异常。没有合同,除了'Failure'将持有'Throwable'的事实。 – 2014-10-01 14:34:30
由于存在库/框架的错误域,因此在objective-c中存在契约。 – 2014-10-01 16:20:52