错误使用 try catch 块处理异常

异常表示程序员级别的错误,例如尝试访问不存在的数组元素。

错误是用户级问题,例如尝试加载不存在的文件。因为在程序的正常执行期间会出现错误。

例:

    NSArray *inventory = @[@"Sam",
                           @"John",
                           @"Sanju"];
    int selectedIndex = 3;
    @try {
        NSString * name = inventory[selectedIndex];
        NSLog(@"The selected Name is: %@", name);
    } @catch(NSException *theException) {
        NSLog(@"An exception occurred: %@", theException.name);
        NSLog(@"Here are some details: %@", theException.reason);
    } @finally {
        NSLog(@"Executing finally block");
    }

OUTPUT:

发生异常:NSRangeException

以下是一些细节:*** - [__ NSArrayI objectAtIndex:]:超出边界的索引 3 [0 .. 2]

执行 finally 块