C#と諸々

C#がメインで他もまぁ諸々なブログです
おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`)
つーかコメント欲しい(´・ω・`)

2006/08/03 11:59
前に少し書いたが、ハンドルされなかった例外をGlobal.asaxのApplication_Errorでthis.Server.GetLastError()で取得すると、HttpUnhandledExceptionにラップされている。

しかし、ここで取得される例外が必ずHttpUnhandledExceptionという訳ではない。
というのも、アプリケーションではなくASP.NETが発生させた例外に対してはHttpUnhandledExceptionがスローされないからである。

例えば、Webフォームに対して危険な文字列を送信すると、HttpRequestValidationExceptionがASP.NETからスローされる。この例外はWebフォームのPage_Errorでハンドルすることができるのだが、ここでハンドルしなくてもHttpUnhandledExceptionはスローされない。

ASP.NETが発生させる例外は、全てHttpExceptionである。HttpRequestValidationExceptionはもちろんのこと、HttpUnhandledExceptionもHttpExceptionの派生クラスであり、ASP.NETが発生させる例外の一つである。
タグ: C# .NET ASP.NET 例外処理











トラックバックURL↓
http://csharper.blog57.fc2.com/tb.php/10-d76057a3