2012-11-04 72 views
2

我需要知道什麼是更好的(對於性能和其他),在預期錯誤時使用Try Catch,並且當錯誤發生或沒有檢查值時,沒有其他方案?使用Try Catch或首先檢查值

例如(VB.net): 如果我需要從數據庫的值填充文本框(例如從數據讀取器),我期待一些空值,如果值爲空,我會離開文本框爲空。

現在我有辦法做到這一點:

try 
    textbox1.text = DR("Name") 
catch 
end try 

現在如果列名稱包含空值的誤差將提高和TextBox1的仍然是空的。

If Not IsDBNull(DR("Name")) Then textbox1.Text = DR("Name") 

有什麼更好?

非常感謝。

+4

您應該儘可能避免任何可能的嘗試/捕獲。嘗試幾乎是免費的,但是當拋出異常時,catch比非常昂貴(談論性能) – Ondra

回答

10

不是使用異常處理作爲流量控制。永遠。

因此 - 檢查值而不是Try/Catch

當拋出異常時,運行時有很多工作要做 - 如果你期望值爲null,總是檢查它們而不是依賴於異常。

+0

非常感謝。 –