有沒有之間的任何行爲差異:拋出新的異常VS Catch塊
if (s == null) // s is a string
{
throw new NullReferenceException();
}
和:
try
{
Console.Writeline(s);
}
catch (NullReferenceException Ex)
{ // logic in here
}
空對象的兩個拋出異常,如果s爲null。第一個示例更具可讀性,因爲它顯示錯誤發生的位置(異常位恰好位於會引起異常的行的旁邊)。
我已經在各種博客上看到了各種各樣的技能水平的各種編碼器的編碼風格,但爲什麼不通過檢查s是否爲空來執行主邏輯,從而保存了曾經引發的異常?這種方法有缺點嗎?
謝謝
+1好問題 – 2009-09-22 22:15:29