錯誤使用 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 塊