我在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”一书中的“错误处理”和“捕捉和处理错误”部分吗?有代码示例包括错误记录。 –