マクロステートメント中にあらかじめシステム変数を定義しておくと,マクロステートメント中の関数にエラーがあった場合にそのエラーコードがシステム変数に設定されます(ただし,その場合でもコマンドは正常終了します)。
このことから,エラーコードに対応して処理の分岐・終了ができます。
エラーコードの設定条件,システム変数,およびエラーコードを次に示します。
エラーコードがシステム変数に設定されるには,マクロステートメント中にあらかじめシステム変数を定義しておく必要があります。
システム変数を定義していない場合,エラーメッセージが出力されます。
システム変数名:¥¥frtn
変数の種類:I種パラメタ(整数)
:
:
500 define;¥¥frtn.i=0;
600 define;xp.p*n=GXP(&e1:&e2);
700 if ;NE(&¥¥frtn:0);
:
:
エラー処理
:
:
1500 end if;
エラーコードの分類とその内容を,表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 |