在使用別人的framework時
因為執行的過程中發生一些意外,framework無法判斷皆下來要怎麼辦
只好丟出Exception,告訴使用者『檔案找不到,無法打開』
使用者接到這個訊息後了解目前狀況可以做進一步的處理
角色轉過來變成framework開發人員時
丟出Exception要有甚麼要注意的事情呢?
不要丟出error code
丟出的Exception要有所說明
這兩點是說,丟出的Exception不能只是死板板的stack message這類的error code
至少要包括兩個資訊:
a. 目前發生的是甚麼錯誤?
b. 如何排除錯誤的方法
發生有危險性的錯誤時,呼叫System.Enviroment.FailFast
System.Enviroment.FailFast 待確認,不確定是啥
這個錯誤我也有犯過
有些東西是可以透過檢查來避免錯誤的,就加入判斷吧!不要隨便丟出Exception
if(!collection.IsReadOnly){
collection.Add(additionlNumber);
}
丟出Exception時要考慮效能問題
為Exception提供文件
不要加入參數決定要不要丟出Exception
// 不好的設計
public Type GetType(string name, bool throwOnError){...}
// 不好的設計
public Exception DoSomething(){...}
public voit DoSomething(out Exception e){...}