未引发Objective-C异常

未引发Objective-C异常,objective-c,exception,nsarray,Objective C,Exception,Nsarray,我在代码中遇到了一个奇怪的问题 NSMutableArray *array = [[NSMutableArray alloc] init]; . . . (added some objects into the array) . . . [array removeAllObjects]; NSObject *object = [array objectAtIndex:0]; 无论我在调试或发布模式下运行它,它都不会崩溃并在控制台中引发任何异常,而是中断当前帧并直接转到下一帧 如果我自己发现了

我在代码中遇到了一个奇怪的问题

NSMutableArray *array = [[NSMutableArray alloc] init];
.
.
.
(added some objects into the array)
.
.
.
[array removeAllObjects];

NSObject *object = [array objectAtIndex:0];
无论我在调试或发布模式下运行它,它都不会崩溃并在控制台中引发任何异常,而是中断当前帧并直接转到下一帧

如果我自己发现了这个异常

@try {
    NSObject *object = [pathList objectAtIndex:0]];
}
@catch (NSException * e) {
    ERR_HERE();
}
确实存在一个异常

这对我来说很危险,因为我不知道我的应用程序什么时候会出问题。 我只是偶尔发现这个问题


为什么会发生这种情况,但不会出现带有异常消息的崩溃

非应用程序中的异常通常不会使其崩溃;但它没有登录到控制台当然很奇怪

当然,除此之外;事实上,如果抛出异常,您可能是做错了什么;或者至少未能对输入进行适当的范围和值检查;或者,在上述示例中:

NSObject *object = nil;

if ([array count])
  object = [array objectAtIndex:0];
objectAtIndeo只是一个打字错误吗?