我需要知道什么是更好的(对于性能等),在预期错误时使用Try Catch并且在出现错误时没有替代方案或首先检查值?
例如(VB.net): 如果我需要通过数据库中的值填充文本框(例如,来自Data Reader),并且我期望一些空值,如果value为null,我将把文本框留空。
现在我必须要这样做:
try
textbox1.text = DR("Name")
catch
end try
现在,如果列名称包含空值,则错误将引发,textbox1仍为空。
If Not IsDBNull(DR("Name")) Then textbox1.Text = DR("Name")
什么更好?
非常感谢你。
答案 0 :(得分:10)
不使用异常处理作为流量控制。如初。
所以 - 检查值而不是Try/Catch
。
当抛出异常时,运行时需要做很多工作 - 如果你期望null
值 - 总是检查它们而不是依赖异常。