Throw文
前節で見たように、.NET Frameworkで用意されているクラスのメソッドで発生する可能性があるものは、MSDNライブラリにも載せられているので、その例外クラス名を使用して例外処理を記述できます。例外処理はそれ以外にも、自分で例外クラスを作って、発生(スロー)させることもできます。
例外クラスを作成するには次のように記述します。
自分で作成したり、既に用意されている例外クラスを任意に発生させるには次のように記述します。
○ プロジェクト
プロジェクトを作成して確認してみましょう。
プロジェクトの種類 |
コンソール アプリケーション |
プロジェクト名 |
ThrowTest |
サンプルダウンロード
○ フォームデザイン
次のように各コントロールを配置してください。
コントロールの配置例
○ プログラム(例外クラス)
InputDataException.vb
- Public Class InputDataException
- Inherits Exception
- Public Overrides Function ToString() As String
- Return "入力時エラーです。"
- End Function
- End Class
○ プログラム(イベント処理)
Form1.vb
- Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
- Try
- '数字かどうかを確認する
- Integer.Parse(Me.TextBox1.Text)
- '入力値が1から5までかどうかを確認する
- If Me.TextBox1.Text >= 1 And Me.TextBox1.Text <= 5 Then
- End
- Else
- Throw New InputDataException()
- End If
- Catch ex As FormatException '数字以外を入力したときの例外
- MessageBox.Show("数字を入力してください。")
- Catch ex As InputDataException '範囲外を入力したときの例外
- MessageBox.Show(ex.ToString())
- Catch ex As Exception 'そのほかの例外
- MessageBox.Show("そのほかのエラーです。")
- End Try
- End Sub
○ 実行結果
実行結果
例外が発生したときに、独自のメッセージを出すことができました。独自の例外の種類を作って利用しています。
前へ