0

ブラウザーで実行される Silverlight 5 アプリをビルドしますが、JavaScript で表示されるいくつかの厄介なエラーが発生します。デバッガーがアタッチされていると、何らかの理由で Visual Studio でキャッチされません。私は簡単なことをしました(WebプロジェクトでVS SL 5プロジェクトを作成します)。私がデバッグしているとき、Visual Studioではなく、JSを介してブラウザにエラーが表示されます。

ブレークポイントを設定してそれらをウォークスルーすることはできますが、未処理の例外が発生した場合、SL は (予想どおり) それをページにバブリングするだけですが、VS はそれをキャッチしません。

VS が IE プロセスと Type=Silverlight に接続されていることを確認しました。現在、私が戦っているバグは、「system.argumentexception: 値が期待される範囲内にありません」というメッセージが表示される 4004 エラー コード (category=managedruntimeerror) です。 oa スタックの詳細。私が得るのは、このhttp://www.scottleckie.com/2010/04/code-4004-unhandled-error-in-silverlight-application/に非常によく似た「Visual Studio JIT デバッガー」だけですが、彼の解決策は「私のために働いている...

4

1 に答える 1

0

App.xaml.cs を調べると、Application_UnhandledException というハンドラーが見つかります。
次のようなコードがあるはずです。

    Deployment.Current.Dispatcher.BeginInvoke(delegate
    {
        ReportErrorToDOM(e);
    });

カスタム エラー処理メソッドに置き換えます。
ReporErrorToDOM は、ブラウザーで JavaScript エラーをトリガーするものです。


設定する必要があるものがない場合は、次のようにします。

public App()
{
    this.UnhandledException += this.Application_UnhandledException;
    ...
}
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
    // Handle exception here
    ...
    // Don't forget this !
    e.Handled = true;
}
于 2012-05-26T13:13:36.603 に答える