例外処理
提供:AB開発Wiki
ナビゲーションに移動検索に移動
例外処理は Try - Catch - Finally ステートメントで処理します。
例外はThrowステートメントによって発生させることが可能です。
例外処理の定義
Try /* 通常処理 */ Catch ex As ExceptionClass /* ExceptionClassが発生したときのエラー処理 */ Catch /* デフォルトのエラー処理 */ Finally /* 共通の終了処理 */ End Try
Try内の通常処理によって例外が発生したときは適切なCatch節に制御が移ります。このとき、Throwされたときに指定されたデータを受け取ることが可能です。
何も指定されていないCatch節はデフォルトの例外処理になります。あらゆる例外をキャッチします。
Finally節はTryスコープを抜け出す際に必ず処理されます。例外発生時も必ず実行されるため、通常時、例外時に関わらず、安全に終了処理を記述できます。
Tryスコープは入れ子構造にすることが可能です。例外発生時は一番身近なTryスコープを検知し、例外処理が可能かどうかを評価します。もしも適切なCatch節が存在しないときはFinally節を実行してTry文を抜け出した後、更に上位のTryスコープにて例外処理が可能かどうかを評価します。
Catch節またはFinally節は省略可能です。ただし、両方共に省略した場合、そのTryスコープは例外処理の観点から意味を成さなくなるため、コンパイラは警告メッセージを出力します。
例外を発生させるためのコード
Throw ex
exは例外の内容を保持するオブジェクトインスタンスです。
使用例
何か良いサンプルコードがある方、更新願います(≧o≦