Вопрос

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