エラー処理の基本

TIPSメインへ戻る

概要説明

プロシージャでエラーが発生したときの対応を決めておく必要があります。 その基本はの次の2点です。

①エラー処理のルーチンにジャンプする。ルーチンにはその後のステートメントを記載しておく。
 「On Error Goto ラベル名」 のステートメントを使います。これでエラー発生時にラベル名にジャンプします。

②エラーメッセージを表示する。
 「MsgBox (Err.Description)」 のステートメントを使います。

※この他にエラー発生のステートメントに戻す方法やエラーを無視して次のステートメントに 移るなどの方法も考えられます。

作成例

上は割り算の計算を実行させるフォームです。 数値1を数値2で割った計算結果を「計算する」 ボタンで実行します。殆どの結果は正しく出ます。 しかし下図のように数値2が「0」だった 時は「不定となり計算できずにエラーとなり、プロシージャが停止してしまいます。 次の図

エラー処理を入れたプロシージャ

Private Sub 計算する_Click()
 'エラー発生時に「エラー処理」のラベルに飛びます。
 On Error GoTo err_err_エラー処理

 '通常のプロシージャ内容
 Dim intA As Integer
 Dim intB As Integer
 intA = 数値1
 intB = 数値2
 Me!答え = intA / intB

 'エラーが無かったときはここでプロシージャを出る。
 Exit Sub

 'エラー発生時に飛ぶラベル。ラベルには後ろに「コロン」をつける。
 err_エラー処理:

 'エラー内容のメッセージボックスを表示する。
 MsgBox (Err.Description)
End Sub

(この項終わり)