0

ios开发中是否有处理NSError的好方法?我正在浏览一些在线参考资料,我发现它们中的大多数都是[NSApp presentError]用来呈现错误的?

这在 ios 中绝对不可能,因为在 ios 领域中没有任何称为 NSApp 的东西。

我想知道除了打印什么之外应该如何处理 NSErrors

错误确实在使用[error localizedDescription]

是否应该访问 NSError 类的错误代码属性并处理所有可能的

使用 else if/ladder 在特定情况下可能会出现的错误代码?

**如果能解释 NSError 和

异常?为什么我们首先有两个单独的东西**

4

2 回答 2

2

NSError 是一个返回码,您尝试在其中做某事,但您尝试的操作无效。例如,您试图打开一个文件,但它不存在。NSError 表示错误情况,在不同的情况下使用相同的调用,您可能不会收到错误(文件在那里)。一个 NSException 表示一些致命的坏事。您尝试写入 null,您尝试写入字符串或数组的末尾。NSExceptions 应该由您清理,程序员,NSErrors 可能只是偶然错误。
你用 NSError 做什么取决于上下文。有时您想通过警报通知用户,有时您想忽略它(例如在编写新资源之前测试不存在的资源)。可能至少,您想要 NSLog 您的 NSErrors(假设您使用宏从最终代码中删除 NSLogs)。

于 2013-03-22T20:22:45.163 回答
0

无论您对 NSErrors 做什么取决于您的特定应用程序,只需使用常识即可。

与 Java 等其他语言不同,Objective-C 中的异常是资源密集型的。所以,

  • 使用异常来指示不可恢复的程序错误。捕捉到这种异常的程序应该很快就会退出。框架并非旨在让您从异常中恢复。

  • 不要使用异常来指示用户错误、可恢复错误或一般流控制。这些情况应该用 NSError 来处理。

于 2013-03-22T19:09:44.907 回答