- ベストアンサー
デバッグでエラートラップが効かない
以下のようなトラップで EXEを実行させると ファイルがないことで起こる エラーは発生しないのですが デバッグ実行すると トラップが効かず ファイルが存在しません というエラーがでてしまいます エラートラップが効かないようなのですが なぜでしょう? On Error GoTo KILLERROR Kill "file" KILLERROR: Resume Next
- be-be
- お礼率70% (39/55)
- Visual Basic
- 回答数4
- ありがとう数7
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
VBの設定で [ツール]-[オプション]の全般タブで エラートラップを”エラー発生時に中断”にすると On Errorでトラップしていてもエラーが出ます。 一度チェックしてみてください。
その他の回答 (3)
- fuji1
- ベストアンサー率29% (109/371)
やっぱり、判りにくいです。 kill 文の直前に On error 句をもっていってもだめですか? 別ルートで On Error が消えているかもしれません。
お礼
説明が下手で申し訳ありませんでした [ツール]-[オプション]の全般タブで エラートラップを”エラー発生時に中断” になっておりました
- fuji1
- ベストアンサー率29% (109/371)
こんばんわ。 また出てきました。 とりあえず、ファイルアクセスをしているところにブレークポイント(F9)をセットして、その後ステップ実行(F8)がいいのではないでしょうか? RUN (F5) しちゃうと、どこだかわからなくなりますよね。 とにかく、場所を特定しましょう。
お礼
すばやい解答ありがとうございます 説明が足らなくて申し訳ないのですが ステップ実行すると トラップへ飛ばず そのままファイルアクセスでエラーがでます Ctrl+F9で On Error Goto へ戻してやっても 同じところで同じエラー どうもとラップが効いていないのです
- fuji1
- ベストアンサー率29% (109/371)
こんにちは。 Win 2000 で VB6を使っています。 上のソースを、Form Load に書いたら、エラーが出ませんでした。 環境を教えてください。 OS/VBバージョン/エラーが出るイベント(フォームの位置)
お礼
解答ありがとうございます 実はそのとおりで 私の環境でも これだけをコーディングして動かすと ちゃんと動くのです 私もWin 2000 で VB6を使っています ですから 他の部分が原因であることは明らかなのですが 全て載せるわけにもいかず その部分の見当がつかないので 同じような現象をご存知の方がいらっしゃればと思ったのですが 難しいでしょうね
関連するQ&A
- VBA トラップを再開させるには?
一度ご質問させていただいたのですが、 どうも上手くできなくて・・・ <連番の付いた複数のFileを順に呼び出すプログラム> ForループでFileナンバーをインクリメントして行く方法で作成。 もしFileが存在しない場合、ラベルで警告して継続させたい。 この時、On Error GoTo をループ内で使って処理をしたのですが、 1回目は上手く行き、2回目がトラップできませんでした。何故?? Fileが存在しない場合、メッセージを出しますが、 2回目にエラーが発生したときは、トラップに掛かりません。 (***Fileが見当たりません…のコーションラベルが表示される) Resumeを使っても、エラーが発生した"後"から開始されるので それでは、Fileを開きにすら行きません。 何か、良い方法はないでしょうか???? Sub FileOpen() Dim N As Integer For N=1 To 100 On Error GoTo ErrorRtn: Workbooks.OpenText Filename:= N & ".csv" ErrorRtn: MsgBox "Fileが有りません" Next End sub
- ベストアンサー
- Visual Basic
- VBA エラートラップができない
<連番の付いた複数のFileを順に呼び出すプログラム> ForループでFileナンバーをインクリメントして行く方法で作成。 もしFileが存在しない場合、ラベルで警告して継続させたい。 この時、On Error GoTo をループ内で使って処理をしたのですが、 1回目は上手く行き、2回目がトラップできませんでした。何故?? Sub FileOpen() Dim N As Variant For N=1 To 100 On Error GoTo ErrorRtn: Workbooks.OpenText Filename:= N & ".csv" ErrorRtn: MsgBox "Fileが有りません" Next End sub
- ベストアンサー
- オフィス系ソフト
- VBAでon error goto文がきかない
エラーが発生しているにもかかわらずon error gotoが実行されません。 ファイルの存在チェックで存在したときは消すようにプログラムしたはずなのに。同僚いわく「何かOSのファイルが壊れているのでは?」とのこと。OSの再インストールでもすればいいのでしょうか?できれば参照設定かなんかでファイルをアサインしてon error gotoが実行されるようにしたいのですが・・・ムリですか?
- ベストアンサー
- その他([技術者向] コンピューター)
- on error 処理に関して
on error goto での処理ルーチン内で、 さらに on error goto を出すことは可能でしょうか。 それとも、一度on errorを設定すると、エラーが発生した後では変更は不可なのでしょうか。 やりたいことは、 1回目と、2回目、3回目以降でやることとを変えたいのです。 例えば、メッセージを変えるとか。 この場合、 エラー処理の中で、何回目かを聞くことで、メッセージを変えることは出来ると思うのですが、 それはやらず、 他にも色々やることが多いので、別処理として飛びたいのです。 以下のようなイメージです。 err1: on error goto err2 resume next err2: on error goto err3 resume next err3: resume next 宜しくお願いします。
- ベストアンサー
- Excel(エクセル)
- VC++で作成したDLLのデバッグ
VC++6.0で作成したDLLファイルのデバッグ作業でVBでコンパイルした EXEファイルを使うと、例外エラーが発生してしまいます。 EXEファイルにデバッグ情報が書き込まれるのでしょうか? 次からそのEXEファイルを利用すると、やはり例外エラーがおきます。 (それに長い間気づかず、ずっとバグ探しをしてました。) VC++のDLLファイルのデバッグモードはVBのEXEファイルでは利用できないのでしょうか?
- ベストアンサー
- C・C++・C#
- VB2005でデバッグ実行できない
VB2005で[新しいプロジェクト]-[VisualBasic]-[Windowsアプリケーション]で 新規プロジェクトを作成しただけの状態から、ビルド、デバッグ実行すると 以下のエラーが表示され、デバッグ実行できません。 プロジェクトを実行しようとしているときにエラーが発生しました: (省略) 要求された操作には管理者特権が必要です。 Debugフォルダの中のexeファイルにはUACの盾アイコンがついています。 今まで特に気にせずアプリケーションの作成ができていたと思うのですが なぜか急にこのような現象に陥りました。 対処方法を教えてください。 環境:OS=Windows7 Pro :VisualStudio2005
- ベストアンサー
- Visual Basic
- エラー処理
環境:IIS,ASP(VBScript) サーバー Windows2000Server ASP超初心者です。 処理の途中でエラーになっても On Error Resume Next と If Err.Number then ........ を組み合わせればうまく逃げられるのはわかるの ですが、On Error Resume Nextを書いてもエラー が表示されて落ちます。 #include file の中についてはOn Error Resume Nextは無効なのでしょうか?
- 締切済み
- Microsoft ASP
- デバッグ時のエラー
javaをまだはじめたばかりの初心者なので質問が適切ではないかも知れませんがご了承ください。 現在eclipseを使用してアプリケーション開発の勉強をしております。 eclipseの機能やコンポーネントの使い方などを重点に勉強しているのですが、デバッグにおいて下記のエラーが発生します。 クラスファイルエディッター ソースファイルが見つかりません。 ソース添付にファイルTrueTypeFont.classのソースが含まれていません。 以上のようなエラーが30個ほど表示されます。 しかし、デバッグをしないで普通にアプリケーションとして実行させるとエラーがでません。 ちなみにswingにて開発しております。
- ベストアンサー
- Java
- On Error GoTo でエラーが発生する
Sub Macro1() On Error GoTo ErrorTrap1 '-エラーの発生するコード 1 ErrorTrap1: On Error GoTo 0 Do On Error GoTo ErrorTrap2 '-エラーの発生するコード 2 On Error GoTo 0 Loop ErrorTrap2: End Sub しかし、以下のようにSubで二つに分けるとエラーは出ません。 Sub Macro1() On Error GoTo ErrorTrap1 '-エラーの発生するコード 1 ErrorTrap1: On Error GoTo 0 Call Macro2 End Sub Sub Macro2() Do On Error GoTo ErrorTrap2 '-エラーの発生するコード 2 On Error GoTo 0 Loop ErrorTrap2: End Sub 「On Error GoTo 0」がうまく解除できていないのかと思い、いろいろ試してみました。 しかし、どういった理由かはわかりませんでした。 「On Error GoTo」は、Subでは、ひとつしか使えないのでしょうか。
- ベストアンサー
- オフィス系ソフト
お礼
まさしくそのお通りでした エラーの起きてる環境では [ツール]-[オプション]の全般タブで エラートラップを”エラー発生時に中断” になっていました ありがとうございました