要拋出一個異常,到目前爲止我使用這種方式?是否有可能將錯誤代碼添加到異常?
throw new ArgumentException("My message");
但是,如果一個方法可以拋出一個ArgumentException由於很多原因,我想知道異常的確切原因。
我知道,我可以用這個遠:
throw new ArgumentException("MyParamName", "MyMessage");
但這種情況並不能幫助這麼多,如果同樣的參數可以有很多理由拋出ArgumentException的。例如,我有兩個屬性的方法中的參數,一個需要大於0,另一個小於0.我想發送一個錯誤代碼,001當第一個參數不大於0和002當第二個參數不小於0.這樣。但我不知道是否可以在異常中設置錯誤代碼。
我可以用這樣的方式:
throw new ArgumentException("My message " + "(001)");
在我可以添加錯誤代碼的消息的結束,但我不得不搜索字符串(001)。但我想知道是否會有更好的選擇。
另一種方式可以創建我自己的異常,但如果我有一個ArgumentException,我認爲創建一個新的異常只有一個屬性的錯誤代碼,幷包含原始異常,它是很少的開銷。
所以我的問題是,什麼是最好的選擇?還有其他解決方案嗎?
謝謝。
想到了同樣的建議 – Saravanan