健壮而有效的错误处理策略应遵循以下3项原则
- 预测问题,用try/catch/finally快将可能出错的代码包起来。这虽然不足以确保不会出现异常,但至少能够正确处理一般的异常。
- 避免出现未处理异常。只要遵循这项原则,即使某个问题没有被预料到,也不会使用户看到异常页面。这可以同时在页面级和应用程序级设置。显然,应用程序级的错误处理程序比页面级处理程序更重要。
- 应确保错误页面不会泄露任何敏感信息。如有必要,可以将本地与远程用户区别对待,而只对前者显示详细信息
if(Request.UserHostAdress=="127.0.0.1")
{
...............
}
PS.大多数情况下,自定义的错误页面由纯HTML编写而成,这样便不会以递归方式引发错误。然而,如果错误页面又引起另外的错误,asp.net默认的一般性错误页面仍然会被显示出来。