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

有帮助吗?

解决方案 3

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

其他提示

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.

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, ...
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top