Reputation: 2822
i am using the following code to catch an error when ind.row is not a valid value or sometimes it becomes nil
@try {
if(ind.row<[[treeNode flattenElements] count])
{
[self.mTableView scrollToRowAtIndexPath:ind atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
}
@catch (NSException *e) {
NSLog(@"%@",e);
}
but when this code executes sometimes this error is occuring
Assertion failure in -[NSIndexPath row], /SourceCache/UIKit_Sim/UIKit-1262.60.3/UITableViewSupport.m:1948`
what may be the reason for this error and why exception is not being handled
Upvotes: 2
Views: 1420
Reputation: 2822
actually it was already catching the exceptions...i had set the flag stop on objc exceptions.when i removed that it catching the exceptions.... as pointed out by @stilesCrisis the ind value was null at the time of this exception..sorry for the trble
Upvotes: 1
Reputation: 8944
You'll have to check the index, generate and raise an exception on you own:NSException Class Reference
+ (void)raise:(NSString *)name format:(NSString *)format, ...
Upvotes: 1
Reputation: 16290
Assertions in iOS don't throw exceptions, so you can't catch them.
You are going to need to figure out what's wrong with your call to -row
. My first guess would be that "ind" is already freed or something.
Upvotes: 3