現在、継承しているクラスが特定の状況で例外をスローする状況があります。「継承」コマンドによって例外がスローされたときに例外を「キャッチ」する簡単な方法はありますか?
質問する
64 次
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 に答える