如果使用NSSetUncaughtExceptionHandler
,它只处理Objective-C运行时错误。
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Functions/index.html#//apple_ref/c/func/NSSetUncaughtExceptionHandler
NSSetUncaughtExceptionHandler
可以捕获异常:
var a: NSArray = [""]
println(a[2])
但NSSetUncaughtExceptionHandler
无法捕捉异常:
var a = [""]
println(a[2])
如何迅速处理非Objective-C运行时错误(swift运行时错误)??
答案 0 :(得分:0)
如果您希望处理索引异常,那么您随时可以验证索引项
extension Collection {
/// Returns the element at the specified index if it is within bounds, otherwise nil.
public subscript (safe index: Index) -> Element? {
return indices.contains(index) ? self[index] : nil
}
}
答案 1 :(得分:-3)
已经有一个详尽解答的类似问题Error-Handling in Swift-Language。看看那里的第一个答案,其中包括Swift 2.0中有关此主题的最新更新。