【问题标题】:Best Approach to handle exception in iOS [duplicate]在iOS中处理异常的最佳方法[重复]
【发布时间】:2016-02-11 16:29:17
【问题描述】:

谁能告诉我在 iOS(目标 C)中处理异常的最佳方法是什么?

我有以下两种方法:

  1. 使用 try/catch 块。
  2. 对所有模型类进行适当的数据处理。

你有什么建议?

【问题讨论】:

  • 这个问题实在是太模糊了。您有任何具体的用例或任何具体问题吗?
  • 这是一个普遍的问题,如果我们的 json 有问题,比如在 json 中,我们会在数组/字典等中得到 NULL 值
  • Apple 已放弃 Swift 中的异常处理。猜猜为什么 ? ;-)
  • 防御性代码。不要做任何假设。
  • 三年没用过try catch块

标签: ios objective-c exception-handling


【解决方案1】:

Objective 中的异常仅用于无法恢复的编程错误(应用程序将立即终止)。

异常并非设计用于 Objective-C 中的程序控制流。检查所有可能的错误并在那时处理它们。

此外,没有清理堆栈帧之间的捕获,因此通常不可能完全恢复。

【讨论】:

  • “有趣的恢复”?您指的是“完全康复”吗?不过,我喜欢“有趣的恢复”的想法。 :)
  • 糟糕,已满,已修复,谢谢! @rmaddy,您现在应该知道我是一个糟糕的拼写者,最差的打字员,并且将其与自动更正结合起来是灾难的根源。 ;-)
【解决方案2】:

在 iOS 上,您应该修复导致异常的任何原因。 NSError 用于预期的错误(例如,后端返回无效或非数据)。异常是常用的编程错误,应该修复。避免 try/catch,除非明确说明您应该使用它(例如,子类化 NSOperation)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    相关资源
    最近更新 更多