Line Buffer Overflow…

書くことが多過ぎるとき、バッファーとしてこちらに書きます。不定期更新です。

RESUME without errorの記憶…

エラー番号22。

エラー処理を行う部分(ルーチン)にて、処理を終わって元の処理に戻る命令が、「RESUME」です。

これが突然プログラムに登場すると、このエラーが出ます。

「RETURN」同様、呼ばれたときに戻り場所を記憶しますから、突然「RESUME」って言われても、どこへ行っていいかわからないわけです。

 

でも、当時はエラー処理なんて、あまり使わなかったなぁ…。

今の方が、使います。

ExcelVBAで。

 

ただし、直接エラー処理ルーチンを書いて、エラーが起きたらそこに飛ばして…ってことは、あまりやりません。

今は「On Error Resume Next」という、強力な文があるのです。

 

意味は、「エラーが起こっても、とりあえず無視して先へ進め」です。

致命的でなければ。

例えば、ある別のファイルに何か処理するとき、そのファイルが開いているかどうか、事前に確かめるのは、結構大変なんです。

それだったら、この構文を使って、とりあえずそのファイルに対して、何か書いてみる。

たとえエラーが出ても、次の命令に進みます。

実は、エラーが出た命令は無視はするけれど、エラー番号などは、ちゃんと記録してくれます。

やっちゃってからエラー変数を見に行って、エラーが出ているようならファイルを開いて、書き直す、ってことが出来るわけです。

 

できちゃった婚」?じゃないけれど、パソコンの世界では、とりあえずやってしまった方が、結果的にうまく行く場合がよくあります。

これも、その類と言えるでしょう。