0

ここにいくつかのコードの例があります...

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

true と false に Try/Catch を追加したり、If 全体を 1 つの Try/Catch 内にラップしたりすることに違いはありますか?

4

3 に答える 3

1

一般的に言えば確かに違いはありますが、問題はあなたの場合に違いがあるかということです。

例外をキャッチする必要があるのは、それについて何かをするときだけです。例外がスローされた場合に if/else が異なるアクションを必要とする場合は、内部に try/catch を配置する必要があります。そうでなければ - 外。そして、どちらの場合も - あなたがそれらについて何かをしようとしている場合にのみ.

于 2013-04-18T17:39:01.183 に答える
1

はい、それはすべて、各スコープに含まれるコードをどのように処理するかによって異なります。各セクションに完全に異なるコードを含めることができ、条件が満たされたかどうかに基づいて、同じ例外タイプを異なる方法で処理したい場合があることを覚えておいてください。

一般的な例外処理 (エラー ログなど) だけが必要な場合は、すべてを try キャッチ内に配置する必要があります。

于 2013-04-18T17:39:50.763 に答える
1

場合によります。If セクションと Else セクションで異なる例外処理が必要な場合は、それぞれの内部に try catch を配置します。それ以外の場合は囲みます。

同じことがループにも当てはまります。例外は、ループを停止する必要があることを意味しますか? そうすれば取り囲むことができます。ループ内で例外が発生した場合、続行する必要がありますか? 次に、try catch をループ内に配置します。続ける必要がない場合でも、ループ内でそれを行うことができます。

この質問は一般的すぎます。それはあなたが何をしたいかによります。

于 2013-04-18T17:43:14.287 に答える