投稿者 shu  (社会人) 投稿日時 2011/8/19 11:02:20
> >resume nextは処理によっては大変なことになりかねないので避けた方がいいです。
> そんなことが起こったりする可能性があるんですか!?

以下を実行すると

例外発生前
例外が発生しなかったので削除処理をします。

と表示されます。これは例外が発生しているのに削除を行うということになります。

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        On Error Resume Next

        If Check() Then
            Console.WriteLine("例外が発生しなかったので削除処理をします。")
        Else
            Console.WriteLine("例外が発生したので削除処理を中止します。")
        End If
    End Sub

    Public Function Check() As Boolean
        Check = False

        Console.WriteLine("例外発生前")
        Throw New Exception("例外")
        Console.WriteLine("例外発生後")
        Check = True
    End Function