Iai*_*ser 5 c# asp.net error-handling exception-handling
基本上我想采取以下措施:

并使其与应用程序其余部分的样式相匹配.
我在基于C#的项目中创建了一个自定义错误页面,我希望它能够显示ASP.NET默认错误页面中显示的相同信息.从摆弄反射器我可以看到这是通过HttpException.GetHtmlErrorMessage()但是当我尝试在我的异常中使用它时它返回null.
小智 1
您不需要添加过滤器来进行事件抓取,只需在global.asax.cs中处理Application_Error即可。Server.GetLastError( ) 会得到异常信息
是的,呃...不。原始问题中显示的错误显示解析/编译错误 - 这些错误发生在 ASP.NET 的 HttpHandler 管道中(旧版 IIS 版本中的 ISAPI 过滤器),即在应用程序事件启动之前,所以在 Global.asax 中的任何事件之前。
尽管您可以指定自定义错误页面(在 web.config、machine.config 或 IIS 元数据库中),但这些页面只能是 HTML 文件。
1)如果您只对代码中出现的异常感兴趣(即您的代码编译,但随后抛出异常),那么您可以使用上面 Dan 的建议并处理 Glocal.asax 中的 Application_Error 事件。
如果您想要处理 ASP.NET 异常(例如解析/编译错误、配置文件错误等),那么您需要挂接(或替换)ASP.NET HttpHandler。
您可以通过编写自己的处理程序来包装现有的处理程序,并捕获任何异常,然后重定向到另一个错误页面。
您可以在 web.config 文件(或 machine.config,如果它是全局处理程序)中指定处理程序。
网上有一些关于如何执行此操作的很好的教程。尝试从这里开始:http://msdn.microsoft.com/en-us/library/f3ff8w4a( VS.71).aspx
(主要问题是:要捕获解析/编译错误,您需要编写一个处理程序/过滤器,该处理程序/过滤器的级别高于ASP.NET 处理程序/过滤器(我相信))。
希望这有帮助,杜恩。
| 归档时间: |
|
| 查看次数: |
3433 次 |
| 最近记录: |