【问题标题】:When to check for condition and when to use try-catch in general?一般何时检查条件以及何时使用 try-catch?
【发布时间】:2020-08-30 03:44:55
【问题描述】:

在使用 c# 进行了许多项目之后,我开始意识到 try-catch 块在许多情况下都非常有用。但是检查某些条件(例如检查给定索引是否超出范围)可能更容易且耗时更少。在较小的项目中,我通常只能使用条件语句才能逃脱。您应该何时真正期待并处理异常,而不仅仅是检查条件?对于何时应该使用每一个,是否有某种通用规则?

【问题讨论】:

  • 异常捕获是针对我们无法控制的异常情况(RDBMS 故障;有人丢弃/阻止文件;下载的数据不符合要求的格式等)。如果我们可以通过if 轻松检查,我们应该更愿意这样做

标签: c# exception conditional-statements try-catch


【解决方案1】:

我认为一个好的经验法则是在操作的成功/失败不在当前代码范围内时使用异常处理。

例如,如果您尝试从串口读取,但您不知道那里是否有线路,您会想要使用异常处理,因为无法提前知道是否您的 readline 将导致成功或失败。

另一方面,当您知道数组的大小时,您不想过度处理异常并在每次访问数组时使用 try-catch。在这种情况下,成功/失败直接在当前上下文的范围内;只需使用条件来检查边界。

虽然我在这个问题上没有权威,所以请谨慎对待这个建议。

【讨论】:

    【解决方案2】:

    我认为,当您不知道打开任何文件并执行操作时以及在文件关闭之前您在这种情况下终止连接时,您必须使用 ty catch...只是它已经习惯了更多复杂类型...在小型项目中影响不大...但是项目会很大很多操作是并行运行的,所以在这种情况下尝试 catch 非常有用...希望您理解..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-03
      • 2018-02-16
      • 2010-12-15
      • 2011-07-09
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多