ios - 捕获异常有什么用?

标签 ios exception exception-handling

所以我已经阅读了很多有关捕获异常的内容。这个和iOS一起说吧。我已将它与 Google Analytics 一起使用以提交有关崩溃的信息并使用它来修复错误。

但这提出了一个问题。捕获这些异常有助于防止应用程序崩溃。从理论上讲,您能否防止那段代码使应用程序崩溃并保持应用程序打开。现在我明白了,如果没有要使用的内存,这可能是不可能的,但知道它仍然很好。

如果这听起来像是一个愚蠢的问题,我很抱歉,我真的应该阅读更多相关内容并进行更多研究。任何信息都会有所帮助。

对于我这个年龄段的人来说,我对 iOS obj-c 的了解相当不错,并且愿意研究您所说的内容。

谢谢!

最佳答案

iOS 上的异常永远不应该被捕获;他们是致命的是有原因的。与大多数具有丰富的异常层次结构和多种抛出/捕获异常以使程序整体受益的语言不同,Cocoa-Touch 代码是围绕所有异常都是致命的原则构建的。认为您可以捕获通过 Apple 提供的代码的任何框架抛出的异常并让您的进程不受阻碍地继续进行的想法是错误的。为了记录日志而捕获并重新抛出异常是一个更严重的错误。

Cocoa-Touch抛出的异常表明程序逻辑存在严重错误,或者对象处于未定义和无法解析的状态。忽略它们或在捕获它们后记录它们是不可行的。必须首先修复它们并防止它们被抛出,以真正保证您的过程保持稳定。

关于ios - 捕获异常有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18543974/

相关文章:

iphone - 在 iOS 后台应用程序中捕获(音频)流

Android:launchMode ="singleTask"的安全异常

c++ - 如何正确调用 Assert::ExpectException?

exception-handling - if else 子句不能做什么,可以通过异常处理做什么?

error-handling - 管道和错误处理

ios - 滚动时获取 UICollectionView 的第一个单元格/项目 - iOS

ios - 在 Xcode 6.3 (Swift) 中使用 Parse 和 Facebook 框架编译错误

iphone - 当转到另一个 UITableViewController 时 UITableViewController 卡住

JAVA 评估后缀表达式——无法抛出空或无效表达式

c# - MailAddress:在邮件 header 中发现无效字符