提前,请原谅我对iPhone/Objective-C最佳实践缺乏理解;我来自.NET/C#背景。iPhone生产/发布异常处理
尽管我已经阅读了许多关于iPhone异常处理的文章,但我仍然不完全清楚大多数人为生产代码所做的工作。此外,我还没有找到任何开放源码的应用程序,我通常会期望错误处理。这里是我的问题:
1)如果意外的结果发生会导致应用程序最终失败,你会抛出一个异常或只是等待它失败以后?例如,
if (![fileManager createDirectoryAtPath: myNewDir
withIntermediateDirectories: YES
attributes: nil
error: &myError]) {
// My app shouldn't continue. Should I raise an exception?
// Or should I just log it and then wait for it to crash later?
}
2)您是否验证参数?例如,在C#中,我通常会检查null,如果需要的话抛出一个ArgumentNullException。
3)当应用程序崩溃时,崩溃信息会自动记录,还是需要设置未处理的异常处理程序?我可以在此方法中显示UIAlertView以通知用户发生了什么不愉快的事情,而不是让应用程序消失吗? (如果是这样,我不能得到它的工作。)
4)最后,为什么我没有看到任何人最终使用@ try/@ catch/@?它在C#中广泛使用,但我还没有找到使用它的开源应用程序。 (也许我只是看着错误的应用程序。)