none
例外が発生して困っています。 RRS feed

  • 質問

  • お世話になります。

    VisualStudio PRofessional 2013 Update5 を使用しています。

    【COMException はハンドルされませんでした。】という例外が発生します。

    「型'System.Runtime.InteropServices.COMException'の例外がSystem.Windows.Forms.dllで発生しましたが、

    マネージとネイティブの境界の前でハンドルされませんでした。」

    デバッグ-例外 ですべてのチェックを外しても例外で止まります。

    例外で中断しないようにするにはどうすればよいのでしょうか?

    2016年6月10日 1:51

回答

  • 解決しました。

    例外の出なかったPCに合わせて [ツール][オプション][デバッグ]の内容を同じにするとでなくなりました。

    とりあえず、漠然と同じにすることだけ考えていたので、もとの設定がどうなっていたか覚えていないので

    何が違って原因になっていたのかわからなくなりました。

    今後のお役にたてなくてすみません。

    どうもありがとうございました。

    • 回答としてマーク MetalDragoon 2016年6月13日 8:31
    2016年6月13日 0:41

すべての返信

  • 何を作っていて(Windows Forms? WPF? その他?)、どのようなコードでその例外がスローされるのかなど、もう少し詳しい情報を提供できませんか?

    あと、エラーメッセージでググって調べるということはやりましたか? もしまだならやって見ましょう。いろいろな記事がヒットするので、その中に質問者さんの状況と同じもしくは近いものがあるかもしれなせん。

    2016年6月10日 2:03
  • COMExceptionはデフォルトの設定ではTry Catchでキャッチできないようですね。

    こちらのサイトにヒントがありました。
    http://stackoverflow.com/questions/9428112/cant-catch-comexception-vb-net

    プロジェクトのプロパティの「デバッグ」タブの「ネイティブ コード デバッグ を有効にする」にチェックを入れると、Try Catchでキャッチできるようになるようです。キャッチすると例外で中断しなくなると思いますがどうでしょうか?

    2016年6月10日 2:29
  • 何を作っていて(Windows Forms? WPF? その他?)、どのようなコードでその例外がスローされるのかなど、もう少し詳しい情報を提供できませんか?

    あと、エラーメッセージでググって調べるということはやりましたか? もしまだならやって見ましょう。いろいろな記事がヒットするので、その中に質問者さんの状況と同じもしくは近いものがあるかもしれなせん。

    WindowsForms を作っています。

    ネットで調べるのは一応行っていますが、類似したものが見つかりませんでした。

    発生しているのはフォームのコンストラクタ(InitializeComponent();)内です。

    あと、PC2台があり、もう一台ではデバッグ-例外 ですべてのチェックを外すとスローされなくなりましたので

    プログラムではなくて、VisualStudioの設定とかが影響していると思われますが関係ありそうなところありませんか?

    2016年6月10日 6:44
  • > ネットで調べるのは一応行っていますが、類似したものが見つかりませんでした。

    エラーメッセージでググるとヒットする最初の記事、

    http://d.hatena.ne.jp/Kazzz/20060421/p2

    で "System.Windows.Forms.WebBrowser クラスの ScrollBarsEnabled プロパティをfalseに設定すると System.Runtime.InteropServices.COMException が発生する" と書いてあったのがひょっとしたらと思ったのですが関係なかったですか・・・

    > あと、PC2台があり、もう一台ではデバッグ-例外 ですべてのチェックを外すとスローされなくなりましたので
    > プログラムではなくて、VisualStudioの設定とかが影響していると思われますが関係ありそうなところありませんか?

    PC によって結果が違うということは、質問者さんの環境固有の問題のように思えます。そうすると、残念ながら自分には心当たりはありません。

    お役に立てずすみませんが、他の回答者の回答をお待ちください。


    #一応、自分の環境(Vista SP2 32-bit、Visual Studio 2010 Professional、.NET 4 Client Profile)で、ScrollBarsEnabled = false にして [デバッグ(D)] ⇒ [例外(X)...] で Common Runtime Language Exception の System.Runtime.InteropServices にチェックを入れて [デバッグ開始(S)] すると、その行で COMException がスローされるのは確認しました。

    #ただし、エラーメッセージは質問者さんのものとは異なり、以下のようになりますが。ちなみに E_FAIL というのは MSDN ライブラリによると「E_FAIL 0x80004005 予測できないエラーです」だそうです。

    System.Runtime.InteropServices.COMException が発生しました。
    HResult=-2147467259
    Message=エラー HRESULT E_FAIL が COM コンポーネントの呼び出しから返されました。
    ErrorCode=-2147467259
    InnerException:


    • 編集済み SurferOnWww 2016年6月10日 13:33 Typo訂正
    2016年6月10日 8:30
  • 解決しました。

    例外の出なかったPCに合わせて [ツール][オプション][デバッグ]の内容を同じにするとでなくなりました。

    とりあえず、漠然と同じにすることだけ考えていたので、もとの設定がどうなっていたか覚えていないので

    何が違って原因になっていたのかわからなくなりました。

    今後のお役にたてなくてすみません。

    どうもありがとうございました。

    • 回答としてマーク MetalDragoon 2016年6月13日 8:31
    2016年6月13日 0:41