核心数据 - 希望获得错误,获得异常

时间:2009-08-03 22:09:50

标签: iphone exception core-data

我正在使用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

1 个答案:

答案 0 :(得分:3)

你有什么例外?在整个Cocoa中,异常通常意味着程序员错误,因此它表明您传递的参数无效。试图访问不在数据库中的字段似乎是这样的情况;这不是“出错了”的错误,而是“你做错了什么”错误。