久々の更新はメモ書き風味。
何のことかといえば、VB6で
Public Sub s()
Err.Raise vbObjectError
End Sub
……なんてクラスを定義して、
Dim c as Class1
Set c = New Class1
On Error Goto ErrHandler
c.s ' エラーが発生して、ErrHandler以下に処理が移ることを期待
ErrHandler:
' エラー処理ごにょごにょ
……しても、ErrHandlerに処理飛ばないで、エラーで落ちる。なんでやねん。ワケ解らん。
んで、検索したらこんなページが引っかかった。
その場合は、呼び出し側にて On Error を使って、例外処理を行うようにしてみてください。
なおその場合、VBのエラートラップモードを、既定の「クラスモジュールで中断」から、
「エラー発生時に中断」にしておく必要があります。
# エラートラップモードを変更しておかないと、開発環境での実行時では、
# クラス内のErr.Raise部で、実行が中断されてしまいますので。
うーん、多分これだろうなぁ。今手元にVB6ないから確認できないけど。しかし、エラートラップモード
なんて有ったっけ?

韓国で Programmingを勉強しているある大学生です.
ネットサーフィン中に偶然に立ち寄りました.
私も Visual Basicは長い間使って来たが.. 最近来て私は V.B 大臣に C++ MFCや C#を使おうと決心しました
V.Bは Loop speedも遅くて, MultiThreading 度支援しないからです .. -_-
韓国では V.Bを使う人がますます消えている成り行きです.
それでも, 久しぶりに Visual Basic Codeを見たら楽しいですね. ^_^
まさかこんな場末のblogに韓国の方が来られるとは思いませんでした。
確かにVBはGUIアプリケーションを作ったり、ActiveXを使用したりする場合は非常に便利なんですが、今回の件のように納得出来ない点もチラホラ……
もしかしたら.net以降のVBなら改善されているのかもしれませんが、それならC#を使う方が良いような気もしますね。