0

マスターページで例外を処理する方法があるかどうか疑問に思っていました。この非常に単純な状況を想定してみましょう:

Site.Master:

protected void Page_Init(object sender, EventArgs e)
    {
        try
        {
            DoStuffFromChildPage(); 
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }

    }

Default.aspx:

protected void Page_Init(object sender, EventArgs e)
    {
        throw new Exception("Test Exception");
    }

これは私のアイデア/コンセプトの簡単な概要です。master を使用するすべてのページに try..catch コード ブロックを記述しないようにしています。

4

1 に答える 1

1

しばらく前にこれを調べましたが、本当に良い方法は見つかりませんでした。他のすべてのオプションは、価値があるよりも複雑になりました。try/catch をまったく使用せず、代わりにカスタム エラー ページを使用することを検討できますが、それがあなたの望むものかどうかはわかりません。

独自の中央例外ハンドラーを作成することもできます。ページとマスターページの両方にまだ try/catch を配置している間は、少なくとも同じ場所で処理されます。

于 2012-07-28T15:38:54.203 に答える