【发布时间】:2011-07-23 00:59:10
【问题描述】:
我使用 kumulos 访问数据库。 这是我正在谈论的代码:
NSString *location = [[theResults objectAtIndex:0] objectForKey:@"location"];
现在,如果 [theResults objectatindex:0] 返回“null”,它每次都会崩溃 因此,如果用户输入的内容不在数据库中,它就会崩溃,我想捕捉这个异常(NSRange 异常)。
谢谢
【问题讨论】:
-
如果 [theResults objectAtIndex:0] 为 nil,它不应该崩溃。应该发生的只是 location 本身变为 nil 。 Objective-C 允许每个 [nil 不管] 方法调用并且它们都返回 nil,所以请仔细检查是否确实如此?我打赌你不是,但请随时给我惊喜:)
-
是的。 location 变为 nil,然后他尝试使用 location,我猜,在一些最终试图取消引用指针的代码中:)
-
NSRangeException 也有可能发生,因为 [theResults count] == 0。
-
您确实不想要捕获范围异常。要么弄清楚为什么你的数组是空的
标签: iphone objective-c exception try-catch nsrange