Trang này dường như có thông tin bạn đang tìm kiếm.
http://www.asp.net/hosting/tutorials/processing-unhandled-exceptions-cs
Về cơ bản, khi một ngoại lệ bong bóng lên đến đến runtime nó được bọc trong một System.Web.HttpException
(Điều này đã sai. Ít nhất tôi không nhìn thấy hành vi này trong MVC 3).
Tôi nghĩ bạn có thể mở rộng lớp đó và ghi đè GetHtmlErrorMessage để trả lại bất kỳ dữ liệu bổ sung nào bạn muốn.
Cập nhật: Vâng, với một thử nghiệm nhỏ, có vẻ như tôi đã sai. NHƯNG có một giải pháp khác ...
Bạn có thể ghi thông tin từ ngoại lệ theo bất kỳ cách nào bạn chọn, sau đó xóa lỗi và bạn sẽ có những gì bạn muốn trả lại.
Something như thế này ...
protected void Application_Error(object sender, EventArgs e)
{
var context = HttpContext.Current;
var error = context.Server.GetLastError();
context.Response.Write(error.Message);
context.Response.Write("<br /><br />");
context.Response.Write(error.StackTrace);
context.Response.Write("<br /><br />");
context.Response.Write("Hello World");
context.Server.ClearError();
}
Nguồn
2011-09-05 05:23:15
những rắc rối với các giải pháp đề xuất với HttpException là dường như không có cách nào để giật HttpException, bạn chỉ có thể chặn SqlException. .. –
Chỉ đơn giản là 'new'-ing lên một' HttpException' truyền 'SqlException' của bạn như là một' InnerException' và sau đó gọi 'GetHtmlErrorMessage()'. –
đã cố gắng ... không nhận được bộ định dạng ... chỉ các tùy chọn có vẻ là DIY hoặc mô-đun http –