4.1.2 関数エラーコード

マクロステートメント中にあらかじめシステム変数を定義しておくと,マクロステートメント中の関数にエラーがあった場合にそのエラーコードがシステム変数に設定されます(ただし,その場合でもコマンドは正常終了します)。

このことから,エラーコードに対応して処理の分岐・終了ができます。

エラーコードの設定条件,システム変数,およびエラーコードを次に示します。

<この項の構成>
(1) 設定条件
(2) システム変数
(3) エラーコード

(1) 設定条件

エラーコードがシステム変数に設定されるには,マクロステートメント中にあらかじめシステム変数を定義しておく必要があります。

システム変数を定義していない場合,エラーメッセージが出力されます。

(2) システム変数

システム変数名:¥¥frtn

変数の種類:I種パラメタ(整数)

(例)

   :
   :
500  define;¥¥frtn.i=0;
600  define;xp.p*n=GXP(&e1:&e2);
700  if    ;NE(&¥¥frtn:0);
   :
   :
エラー処理
   :
   :
1500 end if;

(凡例)  :システム変数
注 上の例のシステム変数は,一度エラーコードが設定されると,0で初期化しないかぎり変数値は更新されません。
このシステム変数が定義されている場合,関数でエラーが発生すると関数の結果は省略型変数になります。

(3) エラーコード

エラーコードの分類とその内容を,表4-2~表4-4に示します。

表4-2 関数共通エラーコード

分類内容リターンコード
正常終了正常終了0
システムエラーシステム精度エラー1
ファイルopenエラー2
ファイルi/oエラー3
メモリ不足4
上記以外のシステムエラー8
入力パラメタエラーパラメタ個数エラー9
入力パラメタ種別エラーパラメタ番号不明10
第1パラメタ11
第2パラメタ12
第3パラメタ13
第4パラメタ14
第5パラメタ15
第6パラメタ16
第7パラメタ17
第8パラメタ18
第9パラメタ19
入力パラメタ範囲エラーパラメタ番号不明20
第1パラメタ21
第2パラメタ22
第3パラメタ23
第4パラメタ24
第5パラメタ25
第6パラメタ26
第7パラメタ27
第8パラメタ28
第9パラメタ29
入力データエラーパラメタ番号不明30
第1パラメタ31
第2パラメタ32
第3パラメタ33
第4パラメタ34
第5パラメタ35
第6パラメタ36
第7パラメタ37
第8パラメタ38
第9パラメタ39
使用区分マクロ図形では使えない関数です。703

表4-3 関数共通ワーニングコード

内容リターンコード
出力値がないため,省略を定義しました。-1
出力文字数が400バイトを超えています。-2
出力データ個数が指定個数未満です。-3
設定データ個数が指定個数未満です。-4

表4-4 関数個別エラーコード

関数名内容リターンコード
CINS(文字列挿入)シフトJISコード境界位置指示エラー502
CDEL(文字列削除)入力値の関係が不当です。500
出力文字数が0バイトです。501
シフトJISコード境界位置指示エラー502
CREP(部分文字列の置換)入力値の関係が不当です。500
シフトJISコード境界位置指示エラー502
GXP(交点)2直線が平行です。601
2要素が同じです。606
交点がありません。607
GVP(垂点)
  • 円,円弧,または長短径の等しい楕円,または楕円弧で,指示点が中心と同じです。
  • 垂点がありません。
602
CDIE(内外分点)入力値の関係が不当です。600
GANGP(3点間角度)第1点と第2点が同じ座標です。603
第2点と第3点が同じ座標です。604
GMIND(最小距離点)2要素の組み合わせエラー600
2要素が交差しています。605
2要素が同じです。606
SYSTEM(Windowsアプリケーション実行)入力値の関係が不当です。400
SATR(ユーザ属性の定義)ユーザ属性を定義できませんでした。401
CMOD(モード値の変更)マシンタイプエラー700
変更データ種別エラー701
変更データ範囲エラー702
スペースコードがすべて0です。704
DDECNC(DDE通信接続)
DDEEXE(DDE通信コマンド実行)
DDEREQ(DDE通信データ問い合わせ)
DDEPOK(DDE通信データ送信)
DDEDSC(DDE通信切断)
サーバがデータの処理に失敗しました。800
サーバが起動されていません。801
サーバと接続されていません。802
サーバが途中で終了しました。803
サーバがビジー状態です。804
タイムアウトエラー805
DDEML内部エラー806