2015-09-19 65 views
0

我正在使用try-catch錯誤處理將我的代碼升級到Swift 2。我堅持關閉(NSURLSession),我不能扔進它。Swift 2:從關閉拋出

一般我用這樣的代碼:

let request = NSURLRequest() 

let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { 
    data, response, error in 
    if error != nil { 
     throw(ErrorType) // here some errortype enum 
    } 
} 

但我收到的錯誤:「不能與類型的參數列表調用dataTaskWithRequest ...」。我如何從封閉中拋出?

回答

0

由於當函數已經執行時,可以稍後調用閉包,所以不能拋出閉包。

在你的例子中,在URLRequest得到響應之後異步調用閉包,此時調用函數已經被執行。