Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理iphone应用程序中的N错误?_Iphone_Ios_Objective C_Nserror_Nsexception - Fatal编程技术网

如何处理iphone应用程序中的N错误?

如何处理iphone应用程序中的N错误?,iphone,ios,objective-c,nserror,nsexception,Iphone,Ios,Objective C,Nserror,Nsexception,在ios开发中,有没有处理NSError的好方法?我在浏览一些在线参考资料时发现,大多数参考资料都使用[NSApp presentError]来表示错误 这在ios中是绝对不可能的,因为在ios领域中没有所谓的NSApp 我想知道除了打印什么以外,如何处理N错误 错误实际上是在使用[错误本地化描述] 应该访问NSError类的error code属性并处理所有可能的错误吗 使用else if/梯形图在特定情况下可能出现的错误代码 **如果你能解释一下N错误和 N例外?一开始为什么我们有两个不同的

在ios开发中,有没有处理NSError的好方法?我在浏览一些在线参考资料时发现,大多数参考资料都使用
[NSApp presentError]
来表示错误

这在ios中是绝对不可能的,因为在ios领域中没有所谓的NSApp

我想知道除了打印什么以外,如何处理N错误

错误实际上是在使用
[错误本地化描述]

应该访问NSError类的error code属性并处理所有可能的错误吗

使用else if/梯形图在特定情况下可能出现的错误代码

**如果你能解释一下N错误和


N例外?一开始为什么我们有两个不同的东西**

无论您如何处理N错误,都取决于您的特定应用程序,请使用常识

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

  • 使用异常指示不可恢复的程序错误。捕获这种异常的程序应该很快退出。框架的设计目的不是让您从异常中恢复

  • 不要使用异常来指示用户错误、可恢复错误或常规流控制。这些情况应改为使用NSError进行处理


N错误是一种返回码,您试图执行某些操作,但尝试的操作无效。例如,您试图打开一个文件,但它不在那里。NSError表示一种错误情况,在这种情况下,如果在不同的情况下进行相同的调用,您可能不会得到错误(文件就在那里)。NSException表示某些致命的错误。您试图写入null,试图写入字符串或数组的末尾。N异常应该由程序员自己清理,N错误可能只是偶然的错误。
如何处理N错误取决于上下文。有时您想用警报通知用户,有时您想忽略它(比如在编写新警报之前测试不存在的资源)。至少,您可能希望NSLog您的NSErrors(假设您使用宏从最终代码中删除NSLogs)