Line Buffer Overflow…

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

On Error Goto…

そう言えば、こんなのもありましたね。

「On Error Goto zzz」

 

これも一種の割り込みですが、エラーが発生した時に、その処理をするプログラムに移るためのものです。

 

プログラムのエラーは、発表する前に撲滅すべきものですが、ユーザーの選択などによって、避けられない場合があります。

そんな時は、エラーが起きてしまった時のために、後始末をする処理を書いた方が、簡単な場合があるのです。

 

これは今の、ExcelVBA(マクロ)でも受け継がれていて、

「On Error Goto」文で、エラーの状況によって、処理を書けるプログラムを実行できます。

「Err.Raise」で、無理矢理エラーを起こすことも出来ます。

値などの検査によって、エラー処理プログラムで処理した方が適切な場合、空き番号のエラーを起こして、処理プログラムに移します。

 

でも、一番多く使ってるのは、

「On Error Resume Next」ですね。

言わば、「とりあえずやってみよう!」宣言!

 

通常、エラーが起きたら処理が中断してしまいますが、この宣言がある場合は、無視して次の命令に移ります。

ただし、エラーが起きたことはわかるので、その結果をもって、やり直すなりやり直させるなり?、処理を書けるわけです。

 

この処理、ダイアログを出して、ファイルを選ばせる処理で、よく使いますね。

自由度が高い処理は、エラーの危険も、高いですから。