我在Swift 2中使用Swift異常。我正在使用NSFileHandle(forWritingToURL)構造函數,這是失敗的。Swift異常詳細信息
我在我的catch
塊中出現錯誤,但是所有的XCode都會告訴我它是ErrorType,這是最大的無益。我似乎無法NSLog它。
這到底是怎麼回事,我弄清楚是什麼問題?
我在Swift 2中使用Swift異常。我正在使用NSFileHandle(forWritingToURL)構造函數,這是失敗的。Swift異常詳細信息
我在我的catch
塊中出現錯誤,但是所有的XCode都會告訴我它是ErrorType,這是最大的無益。我似乎無法NSLog它。
這到底是怎麼回事,我弄清楚是什麼問題?
如果由於某種原因如預期catch
你的錯誤行爲不,嘗試鑄造它作爲一個NSError並檢查其debugDescription
屬性:使用此語法它應該告訴你
do {
try NSFileHandle(forWritingToURL: ...)
} catch let error as NSError {
print(error.debugDescription)
}
錯誤類型橋接到NSError如此通常的錯誤域,錯誤代碼和錯誤消息。
如果它由Apple創建的方法很可能實際上是返回NSError而不是ErrorType ...。
在catch中,您可以將ErrorType強制轉換爲NSError。
catch let error as NSError
然後不喜歡你斯威夫特2.
您是否嘗試過使用以前那樣'鏡(反映:...)'內省的錯誤? –
他們不是例外,他們只是錯誤處理。 – zaph
你看過「使用Cocoa和Objective-C中的Swift」一書中的「錯誤處理」和「捕捉和處理錯誤」部分嗎?有代碼示例包括錯誤記錄。 –