製図システム HICAD/DRAFT for Windows マクロ編

[目次][用語][索引][前へ][次へ]

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