タグ: Goto

  • [言語比較]Do,While,Until : 繰り返す

    [言語比較]Do,While,Until : 繰り返す

    Lotus Script 言語,VbScript 言語

    Do ’ Exit や Goto がなれけば永遠に Do~Loop の中を繰り返します
     Exit Do ’ 直近の Do から抜けることができます
    Loop
    Do While 式 ’ 式が True のうちは Do~Loop の中を繰り返します
     Exit Do ’ 直近の Do から抜けることができます
    Loop
    Do Until 式 ’ 式が False のうちは Do~Loop の中を繰り返します
     Exit Do ’ 直近の Do から抜けることができます
    Loop
    Do
     Exit Do ’ 直近の Do から抜けることができます
    Loop While 式 ’ 式が True のうちは Do~Loop の中を繰り返します
    Do
     Exit Do ’ 直近の Do から抜けることができます
    Loop Until 式 ’ 式が False のうちは Do~Loop の中を繰り返します
    While 式 ’ 式が True のうちは While~Wend の中を繰り返します
     ’ Exit を使えません
    Wend

    Lotus 式言語

    • @While (条件式; 式1; ...; 式最大254); ※条件式が @True のあいだ式を繰り返します
    • @DoWhile (式1; ...; 式最大254; 条件式); ※条件式が @True のあいだ式を繰り返します

    注意
    @Do (式1; ...; 式最大254);
     ※名前は似ていますが @Do は繰り返しません

  • [言語比較]Err,Erl,Error : エラーを処理

    [言語比較]Err,Erl,Error : エラーを処理

     実行時エラー(ランタイムエラー)が発生したときにどうするのか?というものです。

    Lotus Script 言語

    • Err : エラーが発生すると、エラー番号(数値)が入ります
    • Erl : エラーが発生すると、ソースコードの何行目という場所(数値)が入ります
    • Error : エラーが発生すると、エラーメッセージが入ります

    エラーが発生したときにどうするか定義します
    On Error Resume Next
    On Error Goto ラベル

    例:

    On Error Goto ラベル
     処理
     Exit Sub ' または Exit Function や Exit Property
    ラベル:
     エラー処理
     Resume Next ’ エラーの次の行へ戻る

     エラーが発生したときに『何もせず異常終了する』というときは次のようにします。この行より先はエラー対応をしません。

    On Error Goto 0

    似ている命令
    On 番号 Goto ラベル1, ラベル2, ... ’ 番号によって異なるラベルへ制御を移す命令です。番号がゼロのときは何もしません
    例 : On Err Goto ラベル ’ Err 変数の値(初期値は0)によってラベルへ制御を移します
    On 番号 Gosub ラベル, ・・・もあります。

    VbScript 言語

    • Err.Number : エラーが発生すると、エラー番号(数値)が入ります
    • Err.Source : エラーが発生した場所の名前が入ります
    • Err.Description : エラーが発生すると、エラーメッセージが入ります

    初期化
    Call Err.Clear ()
     ※ On Error や Exit でも Err が初期化されます

    On Error は Resume Next だけで、On Error Goto は使えません
    On Error Resume Next

    注意
    最初の On Error より前は Err オブジェクトが存在しません

    例:

    On Error Resume Next
    Call Err.Clear ()
     処理
     If 0 <> Err.Number Then
      エラー処理
      Call Err.Clear ()
     End If

    Lotus 式言語

    • @IsError (評価式) : 評価式がエラーを返すと @True になります
    • @IfError : 廃止されました。「何がエラーなのか」というところが @IsError と異なりました

    例 : @If (@IsError (評価式); エラー時の式; 正常時の式);

  • [言語比較]If : 条件によって分岐

    [言語比較]If : 条件によって分岐

    Lotus Script 言語

    If 条件式 Then
     式
    Elseif 条件式 Then
     式
    Else
     式
    End If

     ※If ~ Elseif ~ Elseif と繰り返せます
     ※Elseif Else ともに使わないことができます

    If 条件式 Goto ラベル
    ラベル:
    式
    If 条件式 Goto ラベル Else 式
    ラベル:
    式

     ※If ~ Goto ~ Else ~ は改行せずに書きます

    VbScript 言語

    If 条件式 Then
     式
    Elseif 条件式 Then
     式
    Else
     式
    End If

     ※If ~ Elseif ~ Elseif と繰り返せます
     ※Elseif Else ともに使わないことができます

    Lotus 式言語

    • @If (条件式; 式; 式);
       『条件式; 式; 』は最大99回繰り返せます
    • @V2If (条件式; 式; 式);
       ※@V2If は旧バージョン用です、上位互換がある @If に書き換えることができます