提前,請原諒我對iPhone/Objective-C最佳實踐缺乏理解;我來自.NET/C#背景。iPhone生產/發佈異常處理
儘管我已經閱讀了許多關於iPhone異常處理的文章,但我仍然不完全清楚大多數人爲生產代碼所做的工作。此外,我還沒有找到任何開放源碼的應用程序,我通常會期望錯誤處理。這裏是我的問題:
1)如果意外的結果發生會導致應用程序最終失敗,你會拋出一個異常或只是等待它失敗以後?例如,
if (![fileManager createDirectoryAtPath: myNewDir
withIntermediateDirectories: YES
attributes: nil
error: &myError]) {
// My app shouldn't continue. Should I raise an exception?
// Or should I just log it and then wait for it to crash later?
}
2)您是否驗證參數?例如,在C#中,我通常會檢查null,如果需要的話拋出一個ArgumentNullException。
3)當應用程序崩潰時,崩潰信息會自動記錄,還是需要設置未處理的異常處理程序?我可以在此方法中顯示UIAlertView以通知用戶發生了什麼不愉快的事情,而不是讓應用程序消失嗎? (如果是這樣,我不能得到它的工作。)
4)最後,爲什麼我沒有看到任何人最終使用@ try/@ catch/@?它在C#中廣泛使用,但我還沒有找到使用它的開源應用程序。 (也許我只是看着錯誤的應用程序。)