こんにちは。ここまで2回、変な口調を使ってふざけていたバカです。ここからはまじめな文体でやりたいと思います。
今回もHSPについてのものです。今回はエラーについて扱います。HSP3のエラーは全部で41種類あります。HSPのエラーは、システムエラーなどよほどのことがないと表示されないものから、文法ミスやゼロ除算のように高頻度で見かけるものまで様々です。
エラーはダイアログで表示されます。
エラーについて表にまとめると次のようになります。
番号 | 大まかな内容 | 対応 |
1 | システムエラー(※) | 最近触ったところを見る |
2 | 文法ミス | その部分を直す |
3 | パラメータが異常 | その部分を直す |
4 | 計算式のエラー | その部分を直す |
5 | 省略不可のパラメータ省略 | その部分を直す |
6 | パラメータの型ミス | 数の型(数値/文字列)を直す |
7 | 配列の要素として指定した値が無効 | dim/sdim命令で設定した範囲の値に直す |
8 | ラベルなし/ラベルを示す「*」の後に何もない | その部分を直す |
9 | ネストが深すぎ | ループからgoto命令で抜けない(forを使ってもよい) |
10 | バッファ不足 | 文字列に長過ぎるものを入れない |
11 | repeat命令がないのにloop命令 | その部分を直す |
12 | ファイルなし/ファイル名が無効 | ディレクトリやファイルを確認 |
13 | 画像ファイルなし | ディレクトリやファイルを確認 |
14 | exec命令呼び出し失敗 | ファイルを確認(ないだけのことも) |
15 | 計算式のカッコの書式ミス | その部分を直す |
16 | パラメータが多すぎ | 対応部分を直すif命令の波カッコが閉じているか確認 |
17 | 文字列式の字数制限超過 | 配列を定義し直す |
18 | 変数名が使用不可(「命令や関数名などと同じ」など) | その部分を直す |
19 | 0で除算 | 0が入りうる値で割らない/0の場合のみ場合分けする |
20 | バッファのオーバーフロー | 変数を定義し直す |
21 | サポートされない機能選択 | 使える機能で代用/あきらめる |
22 | 計算式のカッコが深すぎ(※) | 計算式を単純にする(通常表示されない) |
23 | 変数名の指定なし | 変数名を記述すべき箇所に記述する |
24 | 整数のみを指定できるパラメータに整数以外を指定 | その部分を直す |
25 | 配列の書式ミス | その部分を直す |
26 | メモリ確保失敗 | メモリを適宜開放する/根本的問題 |
27 | 型のタイプ初期化ミス(※) | 見ることは稀。出たらググれ |
28 | 関数の引数なし | その部分を直す |
29 | スタック領域のオーバーフロー(サブルーチン呼び出し/式の評価の処理中に破壊された)(※) | 通常表示されない。出たらググれ |
30 | パラメータの名称が無効 | その部分を直す |
31 | 初期化されている型と異なる型を持つ配列変数に代入 | その部分を直す |
32 | パラメータの書式ミス | その部分を直す |
33 | オブジェクトが多すぎ | clrobj命令を使う、object命令を使わない |
34 | 配列の型が変 | その部分を直す |
35 | モジュール変数の指定なし | その部分を直す |
36 | モジュール変数の指定無効(※) | 通常表示されない。出たらググれ |
37 | 型変換失敗 | 見ることは稀。出たらググれ |
38 | 外部DLL呼び出し失敗 | ファイルを確認(ないだけのことも) |
39 | COMオブジェクト呼び出し失敗 | ファイルを確認(ないだけのことも) |
40 | ユーザー関数の戻り値なし | return命令で戻り値を設定する |
41 | 関数を命令として記述 | その部分を直す |
「その部分を直す」が多いですね。なんという手抜き。
部内の文献からコピーしてちょっと変えただけの手抜きです。すみません。
また明日!