-1

現在、継承しているクラスが特定の状況で例外をスローする状況があります。「継承」コマンドによって例外がスローされたときに例外を「キャッチ」する簡単な方法はありますか?

4

2 に答える 2

0

あなたがする必要があるのはそれをtry...catchブロックに入れることだけです。どんな問題に直面しているのかわかりません。

Class SomeExistingClass
    Sub SomeMethodThatThrowsException()
        Throw New Exception("Demo exception!")
    End Sub
End Class

Class NewInheritedClass
    Inherits SomeExistingClass

    Sub SomeMethod()
        Try
            MyBase.SomeMethodThatThrowsException()
        Catch ex As Exception
            MessageBox.Show(ex.Message) ' or whatever
        End Try
    End Sub
End Class
于 2012-06-28T11:04:53.677 に答える
0

ここで何を聞かれているのか分かりにくいです。

コードの実行中に例外がスローされ、キャッチされます。スーパークラスからのすべての例外をキャッチする「catch」節をサブクラスに定義したいと思うかもしれませんが、それは誤ったアプローチです。通常の try-catch ブロックを使用して例外をキャッチし、サブクラスではなく、例外がスローされる可能性のある元のメソッドを使用 (呼び出し) するコードに記述する必要があります。これは、catch ブロックが実行された後、どこで続行するかをプログラムが知る必要があるためです。

「何かをして続行」したいだけの場合は、rethrow コマンド ( C# ではthrow; ) を使用できます。

于 2012-06-28T06:24:33.823 に答える