1,只有發生了可使整個應用程序崩潰的嚴重錯誤時,才應使用異常
@throw [NSException .....]
一般都用在已知問題,比如某個抽象類不讓初始化,如果初始化就拋異常。
注意:使用@throw,要注意釋放資源的問題,MRC下 要在拋之前 釋放調資源,ARC下需要在編譯器標志叫做 -fobjc-arc-exceptions,不過如果加啦這個標識后,會引入一下額外代碼,他會在不拋出異常時也會照樣執行這部分代碼。
2,在錯誤不那么嚴重的情況下,可以指派“委托方法”來處理錯誤,也可以把錯誤信息放在NSError對象里,經由“輸出參數”返回給調用者。