HSPのエラーメッセージ「HSP Error」

フリーのWindowsプログラミングツール「HSP」(公式サイトHSPTV!)で作成 したプログラムから発するエラー。HSP利用者ならば、まずはチェックすべきものはこちら。

ちなみに、HSP3スクリプトエディタの[HSP]→[HSP拡張マクロを使用する]にチェックは入ってますか?
 デフォルトではチェックがあるんですが、外しちゃう人がいるんですよね・・・。これにチェックが入ってないと、バグ以前にいろいろとエラーになります。(HSP 3.2以降ではこのメニュー項目は廃止)

あと、エラーつぶしにはデバッグウィンドウをちゃんと活用しましょう。
 スクリプトエディタの[HSP]→[Debugウィンドゥ表示]をクリックすると、スクリプトエディタ上でのコンパイル実行の時に、プログラムの裏側の状態を表示するウィンドウが開きます。変数の動きをチェックしたりして望みの結果になってるか監視しましょー。

さて、このエラー表示、2種類あることをご存知ですか?
 それはHSPスクリプトエディタ上でのエラーダイアログと、プログラム(実行ファイル)として起動させている時に表示されるエラーダイアログです。簡単に 言えば表示される内容がちょこっと違います。唯一の共通点は、エラー番号の数値の意味はどちらも共通であることー。

HSPスクリプトエディタでのエラーメッセージ

まずは、HSPスクリプトエディタ上でコンパイル実行したとき、コードに何かしらの問題があった場合に表示されるエラーダイアログです。

HSPスクリプトエディタ上でのエラーメッセージダイアログ

#Error X in line Y (ファイル名)
-->エラー説明文
1行目 1番目の数値 X エラー番号の数値。
2番目の数値 Y エラー行の数値。
カッコ内 エラーになったスクリプトのファイル名。つまり、「*.hsp」か「*.as」になります。スクリプトをファイルとしてまだ保存してない状態では「???」になります。
2行目 エラー番号のエラー説明文

ダイアログ内には4つの変動項目があります。
 1番目の数値「エラー番号」と2行目「エラー説明文」は、上に書いたようにHSPリファレンスやHSPWikiで提示されてるフレーズそのものです。

ちなみに注意点として、「エラー行」とされた位置に必ずしも問題の原因があるとは限りません。
 エラー行の前段階での処理に問題がある場合もありえます。デバッグウィンドウを利用したり、スクリプト内のところどころにdialog命令を入れて、処理の流れを把握しましょう。

実行ファイルでのエラーメッセージ

次に、HSPスクリプトをコンパイルして実行ファイル(EXEファイル)になった 状態でのエラーダイアログです。プログラミングツール「HSP」(Hot Soup Processor)を知らないユーザーが このダイアログに出会う可能性が高いです。

Windows自体が発したエラーではないので、深刻な状況ではないです。だいたいがそのHSP製プログラムの バグ(製作者側のミス)が原因となってます。

HSPのスクリプトコンパイル済み実行ファイル上でのエラーメッセージダイアログ「内部エラーが発生しました」

#Error X
-->内部エラーが発生しました(Y)
1行目 1番目の数値 X エラー番号の数値。
2行目 1番目の数値 Y エラー番号の数値。上とまったく同じです。

ダイアログ内には2つの変動項目があります。が、両方とも同じ「エラー番号」です。
 つまりは、コンパイル済みのHSP製実行ファイルは「エラー番号」以外の情報は表示されないわけです。何があろうが「内部エラーが発生しました」です。(^^;

というのも、コンパイルされて実行ファイルになった時点で、HSPのスクリプトは「中間コード」というHSPだけが理解できるデータに変換されているため、スクリプトファイルのエラー行数やファイル名という概念そのものが内部に存在しなくなってます。
 そして、「エラー説明文」も文字列用データを実行ファイル内に用意しておくのはムダなので含まれていないわけです(エラー番号だけで分かるので)。ちなみに、上のエラー番号12はファイルが見つからない場合のものです。

キーワード de HSP

HSPミニ講座

★ Yahoo!経由用ページ : ファイル | フォルダ | メニュー | マウス | ウィンドウ | オブジェクト | 文字列 | システム | 関数 | sendmsg命令 | その他 | サイトマップ | リンク