【问题标题】:Using Try Catch or check value first先使用 Try Catch 或检查值
【发布时间】:2012-10-24 17:44:27
【问题描述】:

我需要知道什么更好(对于性能和其他方面),在预期错误时使用 Try Catch 并且在错误发生时没有替代方案或先检查值?

例如(VB.net): 如果我需要从数据库(例如来自 Data Reader)按值填充文本框,并且我期望一些 null 值,如果值为 null,我会将文本框留空。

现在我有办法做到这一点:

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

现在如果列名称包含空值,则会引发错误并且 textbox1 仍然为空。

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

什么更好?

非常感谢。

【问题讨论】:

  • 您绝对应该尽可能避免任何尝试/捕获。 Try 几乎是免费的,但是当抛出异常时,比 catch 非常昂贵(谈论性能)

标签: c# .net vb.net frameworks


【解决方案1】:

不要将异常处理用作流控制。永远。

所以 - 检查值而不是 Try/Catch

当抛出异常时,运行时有很多工作要做 - 如果您期望 null 值 - 始终检查它们而不是依赖异常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    相关资源
    最近更新 更多