2010-12-17 7 views
1

私はSLのOOBアプリ(それが唯一のOOBを実行)し、app.xaml.cssにReportErrorToDOMコードについて思っていた持っている:いいえがあるので、私が理解から、OOBでHTMLページの文句を言わない仕事をOOB Silverlight 4アプリケーションでUIに未処理のエラーが表示されるのはどうですか? (HTMLページの)

をDOM/HTML?そのため、このコードはTryCatchブロックにラップされていますか? (これは新しいSL4アプリのデフォルトです)。

OOBアプリケーションでUIに未処理のエラーを表示させるには、HTMLPageをMessageBox.Showに置き換えて判断する必要がありますか?

私はこのことについてGoogleで何かを見つけることができません、初期の開始位置として意見感謝...

private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e) 
    { 
     try 
     { 
      string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace; 
      errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n"); 

      System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");"); 
     } 
     catch (Exception) 
     { 
     } 
    } 

答えて

1

そう、あなたがエラーを表示するには、MessageBox.Showを使用するコードとコードを交換する必要があります。

生産品質のリリースに適しているのは、アプリケーションの種類によって異なります。厳密に言えば、アプリケーションが未処理の例外を検出した場合は、不確定な状態になり、メッセージボックスやルートビジュアルの置き換えが意味をなさなう可能性があります。

ゲームが単にエラーを飲み込んだりするのが適切である場合もあれば、一部のログにそれを記録するだけの場合もあります。

+0

あなたのアドバイスのおかげでアンソニー。私はおそらくエラーをログに記録し、MessageBoxに何か基本的なものを表示します。 – Rodney

0

VSのSilverlightナビゲーションアプリケーションテンプレートを見てください - ChildWindowを使用してエラーを表示し、これもOOBで動作します。このテンプレートからダミーのプロジェクトを生成して、ほとんどのコードをアプリにコピー&ペーストして素早く動かし、必要に応じてUIを微調整するだけです。