当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2008年11月25日火曜日

エラー処理(On Errorステートメント)

今日はエラー処理について書いてみる。
プログラムを書く際、自分が想定していなかった操作や動作が行われた場合、
何も対処していないと、プログラムが異常終了してしまう。
そういったことが起きないようにするのが、エラー処理である。

Dominoオブジェクトを取得していない(できない)まま、処理を進めるとか、
数値のみの入力領域に、文字列を入力してしまうなどである。

サンプルは、エラー処理なしと、ありの2種類用意した。
ともに、プロンプトを表示して、そこに入力した値をチェックするものである。

'エラー処理なしのサンプル
Sub Click(Source As Button)
    '数値型の変数の定義
    Dim res As Long

    '入力形式のダイアログボックスの表示(数値以外はシステムエラーで処理停止)
    res = Inputbox( "何か入力してください。", "エラー処理" , "" )

    '数値が入力されれば、次のメッセージが表示される
    Messagebox "数字を入力しましたね。", 0, "エラー処理"
End Sub


'エラー処理ありのサンプル
Sub Click(Source As Button)
    '数値型の変数の定義
    Dim res As Long

    'システムエラーが発生したら、InputErrというラベルへジャンプするという定義
    On Error Goto InputErr

    'エラー処理から戻るためのラベル
ValueInput:
    '入力形式のダイアログボックスの表示
    res = Inputbox( "何か入力してください。", "エラー処理" , "" )

    '数値が入力されれば、次のメッセージが表示される
    Messagebox "数字を入力しましたね。", 0, "エラー処理"

    'エラー処理のルーチンへ行かないように、強制終了させる必要がある
    Exit Sub

    'エラー処理のラベル
InputErr:
    Messagebox "数値以外を入力しましたね。ここは数値を入力してください。", 0 + 48, "エラー処理"
    'エラー処理が終わったら処理の流れを元に戻す必要がある
    Resume ValueInput
End Sub




Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: