@try - catch block in Objective-C

后端 未结 3 716
旧时难觅i
旧时难觅i 2020-12-07 11:44

Why doesn\'t @try block work? It crashed the app, but it was supposed to be caught by the @try block.

 NSString* test = [NSString stringWithString:@\"ss\"];
         


        
3条回答
  •  天涯浪人
    2020-12-07 12:34

    All work perfectly :)

     NSString *test = @"test";
     unichar a;
     int index = 5;
        
     @try {
        a = [test characterAtIndex:index];
     }
     @catch (NSException *exception) {
        NSLog(@"%@", exception.reason);
        NSLog(@"Char at index %d cannot be found", index);
        NSLog(@"Max index is: %lu", [test length] - 1);
     }
     @finally {
        NSLog(@"Finally condition");
     }
    

    Log:

    [__NSCFConstantString characterAtIndex:]: Range or index out of bounds

    Char at index 5 cannot be found

    Max index is: 3

    Finally condition

提交回复
热议问题