エラーメッセージ

2021/05/18 05:59 Macro::macro 仕様

エラー出力

エラー用サンプル

Tera Term のエラーメッセージ出力用に、以下のサンプルを実行しました。

ファイル名:err.ttl
unknowncmd 'test'

ダイアログボックス

Tera Term マクロを実行していて、仕様に沿わない記述等があるとサンプルのようなダイアログボックスが出力されます。

Unknown command
表示されるダイアログボックスの例

出力情報の説明

上記ダイアログボックスに番号を付与して、出力情報を説明します。

Unknown command guide
説明用番号を付与したダイアログボックス

対照表
該当番号表示内容出力情報の意味
unknown commandエラーメッセージです。
意味は、下のエラーメッセージ表を参照してください。
err.ttl:1.該当マクロファイル名と、エラー対象の行番号です。
<<<unknowncmd '>>>test'<<< >>> で囲われた部分がエラーメッセージの対象です。
マクロ停止(S)実行中マクロの停止ボタンです。
続行(C)実行中マクロの続行ボタンです。
ヘルプ(H)ヘルプを表示します。

サンプルエラーの要約

上記の内容から、ダイアログボックスは次のようにエラーを報告しています。
現在の Tera Term バージョンではサポートされていないコマンドを使ってない?
エラー対象は err.ttl の 1 行目にある unknowncmd だよ。

マクロの実行について、停止するか、続行するか、ヘルプを参照するか選んでね。

エラーメッセージ

以下 Tera Term が出力するエラーメッセージと、その意味になります。
Tera Term エラーメッセージ
エラーメッセージ意味
Can't call sub.サブルーチンを呼べない。
サブルーチンは別のファイルにある。
Can't link macro.MACRO と Tera Term の間のリンクに失敗。
Can't open file.インクルードファイルが存在しないか、インクルードの階層が深すぎる。
")" expected.カッコが閉じていない。
"*/" expected.コメントが閉じていない。
Link macro first. Use 'connect' macro.MACRO と Tera Term の間のリンクが確立してないため、コマンドが実行できない。
Divide by zero.0で割ろうとした。
Invalid control."else", "elseif", "endif" の誤った使用。
Label already defined.ラベル名の多重使用。
Label required.ラベルが見つからない。
Stack overflow.サブルーチン、"for-next" ループ、"while-endwhile" の階層が深すぎる。
Syntax error.コマンドの形式が間違っている。
Too many labels.ラベルの数が多すぎる。
(最大512個)
Too many variables.変数の数が多すぎる。
(整数型、文字列型、整数配列型、文字列配列型それぞれ最大256個ずつ)
Type mismatch.定数または変数の型が間違っている。
Variable not initialized.初期化されてない変数を参照した。
Index out of range.定義された配列変数の要素数を超えるインデックスを参照した。
"]" expected.配列のカッコ "]" が閉じていない。
Can't allocate memory.メモリの確保に失敗。
Unknown command.マクロコマンドは現在のTera Termバージョンではサポートされていない。