【发布时间】:2016-12-08 20:06:36
【问题描述】:
我知道 Cocoa 中有一个 UncaughtExceptionHandler,但是我正在为 Swift 寻找同样的东西。即,每当应用程序中有任何错误/异常由于任何错误而没有在本地捕获时,它应该一直冒泡到顶级应用程序对象,在那里我应该能够优雅地处理它并适当地响应用户。
【问题讨论】:
-
NSSetUncaughtExceptionHandler 在 Swift 中可用:stackoverflow.com/questions/25441302/…。但是,它只捕获 Objective-C 异常,而不捕获 Swift 运行时错误或
thrown 错误。 -
感谢@MartinR 的快速回复。我知道 NSSetUncaughtExceptionHandler 它处理 Objective-C 异常。但是我正在为 Swift 寻找相同/相似的东西。
-
Swift 没有机制来捕获所有类型的运行时错误。我只能猜测原因。例如,它不适用于自动引用计数。在 swift.org 的邮件列表之一中,您可能会从 Swift 开发人员那里获得更好的回复。
-
再次感谢@MartinR ...您知道事件/异常/错误是否通过 Swift 中的隧道和冒泡阶段 .. 我只是在想如果异常通过隧道或冒泡阶段,我可以抓住应用程序级别 AppDelegate 的异常。
-
@SunnyTambi 很好的问题你有什么解决方法吗?
标签: swift uncaughtexceptionhandler