我有一個很難理解從過渡@嘗試@抓過渡
我明白,如果從@try塊一份聲明中拋出一個異常,@catch塊被執行。我不明白如何將包含有關該異常的信息的NSException對象作爲參數傳遞。很多我在網上閱讀的關於異常的東西都跳過了這個細節。
的例子,從我的書是
@try {
[myArray objectAtIndex: 2];
}
@catch (NSException *exception){
NSLog(@"Caught %@%@", exception.name, exception.reason);
}
所以一旦檢測到異常自動創建併發送到@catch塊一個例外對象?
一旦異常被@catch塊捕獲,它由異常指針創建,並且名稱和原因是創建的異常的一部分 – user2277872
所以一旦@catch塊捕獲異常,就會創建一個指針引用那個異常? – Brosef
。 NSException將它創建爲指向異常的指針,並將指針設置爲任何類型的異常。 NSException有一些通用的異常,然後NSException有能力爲泛型不起作用的那些創建新的異常。 – user2277872