0

次のような多くのイベント ハンドラーを含む ASP.NET ページがあります。

Private Sub btnNextEvent_Click(sender As Object, e As EventArgs) Handles btnNextEvent.Click
    Try
        NextRegistration()            
    Catch ex As Exception
        lblError.Text = ex.Message
    End Try
End Sub

その小さな try-except ブロックは、多くの (おそらくダース) 場所で繰り返されます。

このようなことを言うことができるように、ページ全体の「デフォルト」例外ハンドラーを定義する方法はありますか?

Private Overrides Sub DefaultHanderIWishIHad(ex As Exception)
    lblError.Text = ex.Message
End Sub

Private Sub btnNextEvent_Click(sender As Object, e As EventArgs) Handles btnNextEvent.Click
    'no need to handle here, because the default handler is just fine...
    NextRegistration()            
End Sub
4

3 に答える 3

0

実際、例外が発生し、その場で処理しないと、制御が失われ、そこからはリダイレクトしてエラーをログに記録することしかできません。

したがって、グローバル エラーをキャッチすることはお勧めしません。ページには、例外で呼び出される関数がありますが、OnError開いているハンドラーを閉じるためだけに提案し、エラーを処理するためにはお勧めしません。 .

protected override void OnError(EventArgs e)
{
   base.OnError(e);
}

相対: ASP.NET アプリケーションで "一般的なエラー" ページを作成して、そのページ自体を提供するときにトリガーされたエラーを処理するにはどうすればよいですか?

于 2013-04-10T20:07:43.857 に答える
0

ELMAH http://code.google.com/p/elmah/を使用することもできます。これは、すべての未処理の例外を構成して処理するのに適していて簡単です

于 2013-04-10T19:41:00.357 に答える