【发布时间】:2011-01-12 09:03:34
【问题描述】:
是否有任何框架可以捕获和报告异常?我需要一些东西来捕捉我的程序在被非技术用户使用时引起的任何异常或错误,然后通过电子邮件将其发送给我。您是否在自己的项目中处理此问题?您是推出自己的解决方案还是有现成的解决方案?
任何帮助将不胜感激。
【问题讨论】:
标签: objective-c cocoa exception-handling error-handling frameworks
是否有任何框架可以捕获和报告异常?我需要一些东西来捕捉我的程序在被非技术用户使用时引起的任何异常或错误,然后通过电子邮件将其发送给我。您是否在自己的项目中处理此问题?您是推出自己的解决方案还是有现成的解决方案?
任何帮助将不胜感激。
【问题讨论】:
标签: objective-c cocoa exception-handling error-handling frameworks
异常通常在 Cocoa 中用于表示程序员错误,而不是在运行时“糟糕”。
前者的经典示例:如果您尝试访问 10 个元素的 NSArray 的第 50 个元素,则会发生 Array out of bounds 异常。这是程序员的错误,你不应该让这种情况发生。
后者的经典示例:您尝试从磁盘读取文件但文件丢失。这不是一个例外情况,文件读取操作失败是很常见的,因此不应抛出异常(作为 Cocoa 开发人员,您的工作是优雅地从这种情况中恢复,这样做并不太难)。
在 Cocoa 中使用异常时请记住这一点,尤其是当它们将面向用户时。
【讨论】:
这可能不是您想要的,但如果您使用 Fogbugz,有一个名为 Bugzscout 的工具可以从应用程序创建票证。您可以将其与您的异常联系起来,并让用户有机会在异常上创建票证:
http://www.fogcreek.com/FogBugz/docs/70/topics/customers/BugzScout.html
【讨论】: