我正在使用Core Data开发一个iPhone应用程序,并且ahev注意到我在期待和错误时遇到异常,这是一个例子:
NSError *error;
// exception here if edited attribute name todoText in modeller and generated new database with that new name in it(ie clearing the iphone), ie tring to access a field not in the database
@try {
NSMutableArray *mutableFetchResults = [[todoListManagedObjectContext executeFetchRequest:request error:&error] mutableCopy];
//seems like vars declaered inside a try is only known inside it, so process here
if (mutableFetchResults == nil) { // nil = error
// Handle the error.
如评论中所示,我没有因为尝试访问非现有字段而出错...为什么不直接使用错误返回系统呢?
我想我的问题是,什么是错误和例外,我真的需要像这样测试吗?
RGDS PM
答案 0 :(得分:3)
你有什么例外?在整个Cocoa中,异常通常意味着程序员错误,因此它表明您传递的参数无效。试图访问不在数据库中的字段似乎是这样的情况;这不是“出错了”的错误,而是“你做错了什么”错误。