-1

どの例外が発生したかに関係なく、catch ステートメントの後にコード ブロックを実行したいのですが、何らかの例外が発生した場合に限られます。したがって、基本的には、実行するために例外を必要とするのは finally ステートメントです。ビジュアルベーシックでこれを行う簡単な方法はありますか?

4

4 に答える 4

1

どうですか

Dim isException As Boolean = False
Try
    ....
Catch ex As ApplicationException
    isException = True
    ....
Catch ex As Exception
    isException = True
    ....
Finally
    If (isException)
        ....
    End If
End Try
于 2013-04-12T22:38:24.507 に答える
1

私はそれが好きではありませんが、ネストされたTry:

Try
    Try
        ....
    Catch ex As ApplicationException
        Throw
    Catch ex As Exception
        Throw
    End Try
Catch
    ' This is your "finally"
End Try
于 2013-04-12T22:44:52.423 に答える
0

If ステートメントの finally ブロックは、例外が発生したかどうかに関係なく、常に呼び出されます。MSDN

これを行う唯一の他の方法は、例外をパラメーターとして受け入れる別のメソッドを用意し、例外キャッチからそのメソッドを呼び出すことです。

于 2013-04-12T22:02:18.553 に答える
0

次のように、さまざまな例外ブロックを追加できます。

Try
    ' do operation
' Most specific:
Catch e As ApplicationException
    ' do something only if ApplicationException has occurred
' Least specific:
Catch e As Exception
    Console.WriteLine("{0} Second exception caught.", e);
End Try
于 2013-04-12T22:23:28.520 に答える