所以我读了很多关于捕获异常的内容。我们一起来谈谈这个和iOS。我已将它与Google Analytics一起用于提交有关崩溃的信息,并使用它来修复错误。
但这提出了一个问题。可以捕获这些异常有助于防止应用程序崩溃。你理论上可以防止这些代码崩溃应用程序并保持应用程序打开。现在我知道如果没有内存可以使用它可能是不可能的,但它仍然是很好的了解。
很抱歉,如果这听起来像是一个愚蠢的问题,我真的应该阅读更多关于它并做更多的研究。任何信息都会有所帮助。
对于我的年龄,我确实对iOS obj-c有相当不错的知识,并愿意研究你要说的内容。
谢谢!
答案 0 :(得分:2)
永远不应该抓住iOS上的例外情况;他们致命是有原因的。与大多数具有丰富异常层次结构的语言以及为了整个程序的利益而抛出/捕获异常的多种方法不同,Cocoa-Touch代码是围绕所有异常都是致命的原则构建的。认为您可以捕获通过Apple提供的代码框架抛出的异常并让您的流程继续畅通是错误的。为了记录而捕获和重新抛出异常是一个更严重的错误。
Cocoa-Touch抛出的异常表示程序逻辑中存在严重错误,或者对象中存在未定义和不可解析的状态。忽略它们是不行的,或者在捕获它们之后记录它们。必须对它们进行固定并防止它们被抛在一起,以便真正保证您的工艺保持稳定。