Exception handling If/Else,为每个If尝试/捕获或为整个If尝试/捕获?

Exception handling If/Else,为每个If尝试/捕获或为整个If尝试/捕获?,exception-handling,try-catch,Exception Handling,Try Catch,下面是一些代码的示例 Private Sub btnDoSomething_Click(sender As System.Object, e As System.EventArgs) Handles btnDoSomething.Click If True Then Try Catch ex As Exception End Try Else

下面是一些代码的示例

Private Sub btnDoSomething_Click(sender As System.Object, e As System.EventArgs) Handles btnDoSomething.Click
        If True Then
            Try

            Catch ex As Exception

            End Try                
        Else
            Try

            Catch ex As Exception

            End Try  
        End If
End Sub

如果在一个Try/Catch中添加Try/Catch,那么在true和false中添加Try/Catch,或者仅仅包装整个Try/Catch,有什么区别吗?

一般来说,肯定有区别,但问题是您的情况是否有区别


只有当你要做些什么的时候,你才应该捕捉到一个异常。如果在抛出异常时if/else需要不同的操作,那么应该将try/catch放在其中。否则-外部。在这两种情况下,只有当你打算对它们做些什么的时候。一般来说,肯定会有差异,但问题是你的情况是否有差异


只有当你要做些什么的时候,你才应该捕捉到一个异常。如果在抛出异常时if/else需要不同的操作,那么应该将try/catch放在其中。否则-外部。在这两种情况下,只有当你打算对它们做些什么的时候。是的,这完全取决于你想如何处理每个作用域中的代码。请记住,您可以在每个部分中使用完全不同的代码,有时您可能希望根据是否满足条件以不同的方式处理相同的异常类型


如果您只需要一般异常处理(错误日志记录等),那么您应该将所有内容都放在try catch中。

是的,这完全取决于您希望如何处理每个作用域中的代码。请记住,您可以在每个部分中使用完全不同的代码,有时您可能希望根据是否满足条件以不同的方式处理相同的异常类型


如果您只需要一般异常处理(错误日志记录等),那么您应该将所有内容都放在try catch中。

这取决于具体情况。如果if部分中的异常处理需要不同于Else部分中的异常处理,则将try-catch放在每个部分中。否则就包围它

循环也是如此。异常是否意味着您需要停止循环?然后你可以包围它。如果循环内部发生异常,是否需要继续?然后将试抓器放在环内。即使你不需要继续前进,你也可以在循环中这样做


这个问题太笼统了。这取决于你想做什么。

那要看情况而定。如果if部分中的异常处理需要不同于Else部分中的异常处理,则将try-catch放在每个部分中。否则就包围它

循环也是如此。异常是否意味着您需要停止循环?然后你可以包围它。如果循环内部发生异常,是否需要继续?然后将试抓器放在环内。即使你不需要继续前进,你也可以在循环中这样做

这个问题太笼统了。这取决于您想做什么。

您需要多少“分辨率”才能正确响应异常?您需要多少“分辨率”才能正确响应异常?