3

私が取り組んでいるDNN6.0Webサイトで非常に一般的な問題があります。1つのDNNモジュールでの手渡しの例外は、ページ上の他のすべてのモジュールの処理に影響します。例:

2つのモジュールを含むDNNページがあるとします。Module1には、onclickイベントハンドラーが例外をスローするボタンがあります。Module2にはラベルテキストがいくつかあります。

したがって、ユーザーがModule1.buttonを押すと、Module1の代わりにエラーが表示され、Module2は表示されません。

そのようなすべてのModule1例外を1つの場所でキャッチし、DNNにページ上の他のモジュールを処理させることは可能ですか?(最も簡単で簡単な方法は、button.onclickにtry / catchブロックを記述することですが、時間がかかるため、作成したすべてのモジュールにそのようなアプローチを実装することはできません。)

4

1 に答える 1

5

あなたは正しい答えを提案しました。

try / catchブロックを実装し、次の機能を利用します

  • LogException()-エラーをログに記録し、モジュールのロードを停止しません
  • ProcessModuleLoadException()-エラーをログに記録し、モジュールのロードを停止します

このためのサンプルコード:

try
{
    //BLAH
}
catch (Exception exc) //Module failed to load
{
    Exceptions.ProcessModuleLoadException(this, exc);
}
于 2012-01-30T14:47:02.887 に答える