``

前頁 メニュー 次頁

`言語仕様の詳細（`JIS `との相違）`

    １２  例外状態処理及びデバッグ

    [規格との相違]
    12.1.4
         when本体内部で起きた例外状態は，すべて続行不能例外として扱われる。これは，12.1.4.(4)(d)に規定されるEXIT HANDLERを実行したときに意味を持つ。
    12.1.4(3)
         行番号が存在しないときのexline関数の値は0とする。
    12.1.4(4)
         when-in区に属する例外処理区で，when-in区を囲むdo区，for区から抜けることを意味するexit-do文，exit-for文を実行すると，例外処理区から出ることになる。（規格には，これらの文の効果についての記述が欠けている。）
    12.1.4.(4)(d)
         “その例外状態の行を含む最も内側の保護区”を，現在，例外処理を実行中の保護区(現在実行中の例外処理区を呼び出した保護区)と解釈する。
    12.1.4(8)
         例外処理区の内部で(新たに)起きた続行可能例外には，この規定を適用しない。
    12.1.4(9.1)
         handler区で続行不能例外が発生すると，ただちにプログラム単位の外側に例外が伝達される。
    12.1.6(9)
          def文で例外状態が起きた場合は，12.1.4(9)の規定に従う。(JISの記述は誤りと思われる）

    12.2.4(6)
        trace文の実行結果は，若干，規格と食い違う点がある。
        特に，代入文を実行しても変数値が変化しなければ報告しない。
    12.2.6(1)
        値が変化した配列要素のみ報告する。