EXTYPE関数

EXTYPE
 例外状態の種別番号。詳細はJISに定義されている。
 WHEN EXCEPTION IN構文のUSE区で用いて, 特定の例外にのみ対処するプログラムを書きたいときなどに用いる。
<備考> EXTYPEは予約語
<参照> 続行可能例外

EXTYPEの概要

1000番台 あふれ(数値の桁あふれなど)
  1001 数値定数のあふれ
  1002 数値式のあふれ
  1003 数値組込関数のあふれ
  1004 VAL関数のあふれ
  1005 数値配列式のあふれ
  1006 READ文の数値あふれ
  1008 ファイル入力における数値あふれ
  1009 DET関数,DOT関数のあふれ
2000番台 配列添字の誤り
  2001 配列添字が範囲外
3000番台 算術計算の誤り(正しくない算術演算)
  3001 ゼロ除算
  3002 負数の非整数乗
  3003 ゼロの負数乗
  3004 対数の真数が正でない
  3005 SQRの実引数が負
  3006 MOD,REMAINDERの除数がゼロ
  3007 ACOS,ASINの実引数が範囲外
  3008 ANGLE(0,0)
  3009 INV関数の実引数が特異行列であるか,または有効数字がすべて失われた。
4000番台 実引数の誤り
  4001 VAL関数の引数が数値定数の形でない
  4002 CHR$関数の引数が範囲外
  4003 ORD関数の引数が範囲外
  ・・・・
5000番台 配列の大きさ不足
6000番台 配列利用の誤り
7000番台 ファイル利用の誤り
8000番台 入出力の誤り
  8001 READ文におけるデータ不足
  8011 入力におけるファイルの終わり
  8012 記録中のデータ個数の不足
  8013 記録中のデータ個数の余剰
  8101 ファイルから数値変数へ数値でない入力
  8105 ファイルからの構文的に正しくない入力
  8120 内部形式記録の入力における型の不一致
  8201 書式文字列が正しくない
  8202 対応する書式項目がない
    8401 input文における時間切れ
  8402 timeout区の時間式の値が負
9000番台 装置における処理系定義の誤り
10000番台 制御の誤り
11000番台 グラフィックス利用の誤り


○ 処理系定義の例外番号として次の値を使用する。
  -3009 図形変換中の無効演算
  -1005 図形変換中の桁あふれ
  -103 配列用のメモリ確保ができない
  -102 変数用のメモリが確保できない
  -101 スタックがあふれた
  -100 プログラム実行用のメモリが確保できない
  7101 ファイルをopenできない(ファイルの指定が正しくない?)
  7102 ファイルをopenできない(存在しない?)
  7103 ファイルを作れない(ファイル個数の限度を越える?)
  9003 ファイル削除に失敗した
  9004 ファイルが既に存在する


例外状態の伝達
 例外が手続きの外に伝達されると,extype関数の値は,当初の値に100000を加えた値になる。ただし,負数のextypeの場合は100000を引いた値になる。
<参考>伝達前の値は,REMAINDER(EXTYPE,100000)で求まる。