Biasanya setelah aplikasi web dirilis, untuk memberikan antarmuka yang ramah dan pengalaman pengguna kepada pengguna, aplikasi tersebut akan melompat ke halaman kesalahan yang disesuaikan ketika terjadi kesalahan, alih-alih daftar pengecualian terperinci yang diberikan kepada pengguna oleh ASP.NET.
Halaman penanganan kesalahan sederhana dapat diatur melalui web.config
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<kesalahan statusCode="403" redirect="NoAccess.htm" />
<kesalahan statusCode="404" redirect="FileNotFound.htm" />
</kesalahan khusus>
Jika Anda ingin menyajikan penyebab kesalahan secara terprogram, Anda dapat melakukannya melalui event Page_Error.
Cara lain bisa dilakukan melalui Global.asax. Menurut saya cara ini lebih nyaman. Selain itu, jika bisa digabungkan dengan halaman terpisah yang lebih ramah, akan terlihat lebih nyaman.
Global.asax (kesalahan logging jika diperlukan) void Application_Error (pengirim objek, EventArgs e)
{
Pengecualian objErr = Server.GetLastError().GetBaseException();
string error = "Halaman pengecualian: " + Request.Url.ToString() + "<br>";
error += "Pesan pengecualian: " + objErr.Pesan + "<br>";
Server.ClearError();
Aplikasi["kesalahan"] = kesalahan;
Respon.Redirect("~/ErrorPage/ErrorPage.aspx");
}
ErrorPage.aspx
dilindungi kekosongan Page_Load (pengirim objek, EventArgs e)
{
ErrorMessageLabel.Text = Aplikasi["kesalahan"].ToString();
}Saat pengguna akhir menggunakan aplikasi, mereka mungkin tidak ingin mengetahui penyebab kesalahannya. Saat ini, kita dapat menggunakan kotak centang untuk menentukan apakah akan menampilkan penyebab kesalahan tersebut. Anda dapat memasukkan Label ke dalam div dan kemudian menggunakan kotak centang untuk memutuskan apakah akan merender div tersebut
<skrip bahasa="javascript" type="teks/javascript">
<!--
fungsi CheckError_onclick() {
var chk = document.getElementById("CheckError");
var divError = dokumen.getElementById("errorMsg");
if(chk.diperiksa)
{
divError.style.display = "sebaris";
}
kalau tidak
{
divError.style.display = "tidak ada";
}
}
// -->
</skrip>
http://www.cnblogs.com/EasyLive2006/archive/2007/01/07/613922.html