HSPがエラー時に返す行番号が、実際と異なる場合があります。
HSP3.0とHSP3.1との発生条件は違うので、最新版の3.1のエラーの発生条件を載せます。(他にもあるかも)
因みに、以前掲示板に載っていた気がします。
- 文字列を{""}で複数行で指定した時
v1 = {"
あいうえお
かきくけこ
"}
mes 1/0; エラー
- コメント/**/内で、#から始まる行がある時
/*
#あいうえお
#かきくけこ
*/
mes 1/0; エラー
- 式が長い時
v1 = 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63
mes 1/0; エラー
- マクロで%cを使用した時
#define macro %c mes 1/0
macro; エラー
発生条件は、よく解りません。
対処方法としては、返す行番号に近い位置にエラーあったりしますので、近くを探したり、行番号をあまり参考にしないで、自力で推理するなどがあります。
根本的な解決方法は無いようなので、悲しいです。
エラーの行番号が返るのが、インタプリタ言語のHSPの魅力なんですがね・・・
また、HSP ver3.1 RC1から改善されていて、私の方では起こらなくなりましたが、ソースによっては相変わらず起こるようです。PR