Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 Xcode 中我可以创建一个断点来捕获所有异常(异常断点)。然而,这个断点也会在 try-catch 情况下触发。
我正在使用第三方库,所以 try-catch 情况是一个事实,而不是一个选项。
有没有办法只处理未捕获的异常,而不是所有异常?
您可以在线程的条目中放置一个顶级try/catch。
try/catch
您可能还对NSSetUncaughtExceptionHandler.
NSSetUncaughtExceptionHandler
通常,顶级处理程序在生产中几乎没有用处(您实际上并没有试图从您不准备处理的问题中恢复,但它可能对最后一句话或断点有用)。理想情况下,当且仅当您可以处理异常时,您将使用 try/catch 保护您从这些库接口的退出。要么,要么nothrow作为开发过程中的快速调试实用程序。
nothrow
如果你试图捕捉 Cocoa 异常——只要让它死掉,然后将 bug 提交给任何认为 Cocoa 异常应该可以恢复的人。