提问人:Injoy 提问时间:6/24/2015 更新时间:12/9/2019 访问量:1915
swift - 如何处理未捕获的异常
swift - How to deal with uncaught exception
问:
如果使用 ,则仅处理 objective-C 运行时错误。https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Functions/index.html#//apple_ref/c/func/NSSetUncaughtExceptionHandlerNSSetUncaughtExceptionHandler
NSSetUncaughtExceptionHandler
可以捕获异常:
var a: NSArray = [""]
println(a[2])
但无法捕捉到异常:NSSetUncaughtExceptionHandler
var a = [""]
println(a[2])
如何快速处理非 Objective-C 运行时错误(swift 运行时错误)?
答:
-3赞
Ivan Rigamonti
6/24/2015
#1
已经有一个详尽的类似问题,Swift-Language中的错误处理。看看那里的第一个答案,其中包括 Swift 2.0 中关于这个主题的最新更新。
评论
2赞
Injoy
6/25/2015
我的意思是未捕获的异常处理程序,而不是try catch
0赞
Durai Amuthan.H
2/23/2016
@Injoy - 你有解决方案吗
0赞
Fizker
3/24/2016
这并不能回答这个问题。链接的问题是关于用户级错误,这个问题是关于捕获和处理致命错误的。我对这个主题的研究表明,目前没有类似的方法来捕获致命错误。
0赞
Nick
8/5/2019
#2
如果您希望处理索引异常,则始终可以验证索引项
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
}
}
评论