【发布时间】:2019-01-18 10:37:58
【问题描述】:
Apple 的Using and Creating Error Objects 指南提供了以下代码示例:
NSError *theError;
BOOL success = [myDoc writeToURL:[self docURL] ofType:@"html" error:&theError];
if (success == NO) {
// Maybe try to determine cause of error and recover first.
NSAlert *theAlert = [NSAlert alertWithError:theError];
[theAlert runModal]; // Ignore return value.
}
并附上声明:
重要提示:成功或失败由方法的返回值指示。虽然间接返回 Cocoa 错误域中的错误对象的 Cocoa 方法如果通过直接返回 nil 或 NO 指示失败,则保证返回此类对象,但在尝试对NSError 对象。
我一直想知道为什么这种模式如此重要?为什么我们总是要检查返回值?如果我们检查 error 是否为 nil 有什么问题?
【问题讨论】:
标签: objective-c cocoa nserror