我在代码中使用了很多断言,因为它们在调试中很有用,但Cocoa应用程序的标准行为是中断处理并将断言失败记录到控制台...... UI不会崩溃,也不会出现问题一个错误对话框,往往不明显发生了什么。
崩溃程序最简单的方法是什么(至少会得到跟踪)或者出现错误对话框?
我是否需要提供断言处理程序(看起来非常复杂!)?或者我可以在运行循环中捕获异常吗?
是否有任何示例代码可用于如何最好地执行此操作?
感谢您的帮助。
答案 0 :(得分:1)
回答你问题的主题:你没有。
立即崩溃:abort();
要引发错误,只需创建NSError对象,完成描述(对于自定义消息,错误号等),并向NSApp询问-presentError:
我建议你去NSError路线。 Cocoa为您提供了大量的错误处理甚至错误恢复功能。为简单的崩溃提供错误(以及可能的用户恢复选项)是无限好的。毕竟,如果你知道哪里会发生错误(足以在那里调用abort())并且你知道你在断言什么(足以用户NSAssert),那么你就知道如何要么自动恢复,要么为用户提供选项,以便他们决定做什么。