【发布时间】:2017-10-09 10:18:12
【问题描述】:
在为 iOS 开发 Swift library 时,您是否会将该库沙箱化,这样该库中的错误就不会在宿主应用程序中重现? (= 未捕获的错误不会导致应用崩溃)
这里有一些线索并不能完美地涵盖所有内容:
- 使用
NSSetUncaughtExceptionHandler:只捕获Obj-c异常(NSException) - 使用带有 try/catch 和闭包的后台队列,例如 here。
disered 行为可以与 Android 相比,在 Android 中您可以拥有一个线程并在其上拥有一个 Thread.UncaughtExceptionHandler,因此这里出现的所有问题都会被捕获。
由于语言的设计,除了尝试/捕获所有内容之外可能没有合适的解决方案(请参阅here)。
【问题讨论】:
标签: ios swift multithreading