N88-BASICのerrをクリアする方法に関して調べた結果をメモ。
- errの初期値は0である
- errはエラーで値が設定される
- errはresumeステートメントの実行で0クリアされるようだ
- errはerrorステートメントでも設定される
- errorステートメントの引数に0は許されないので、error 0ではerrの値を0に設定できない
- errはon error gotoでクリアされない
- errはnewでクリアされない
- errはrunでクリアされない
- errはclearでクリアされない
- ダイレクトモードやリモートBASICのステートメント正常実行完了でクリアされない
errを0クリアする方法 §
他にあればぜひ知りたい。
- ダミーのエラーを発生させon error goto+resumeを実行する。この方法はon error gotoの飛び先行番号が必要なので事前にプログラムを読み込んでon error gotoを実行しておく必要がある
- poke &he649,0
注意事項 §
errはnewでもrunでもclearでもクリアされない値なので、プログラム実行開始時にどんな初期値になっているか予測できない。エラー発生後のon error gotoの飛び先であれば、errは発生したエラーの番号に確定するので安全である。それ以外で参照することは値がいくつであるか分からないので、お勧めではない。あえて参照する場合は、上記のクリア方法をプログラム先頭で実行することを推奨する。