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