该问题所说的一切,采取这种例编码:

<ul id="css-id">
    <li>
    <something:CustomControl ID="SomeThingElse" runat="server" />
    <something:OtherCustomControl runat="server" />
    </li>
</ul>

现在如果一个错误被扔里面的某个地方这些控制(在位于一个主页)他们将采取下了整个网站,如何抓住这些例外?

有帮助吗?

解决方案

您可以捕获Global.asax页面/类中其他地方未处理的所有异常。 看看:

protected void Application_Error(Object sender, EventArgs e)

方法

其他提示

不幸的是未经处理的异常将永远错误您的网站。你可以阻止这几种方法虽然。

  • 使用部分在你的网页。config,以显示用户友好的消息
  • 在你全球性的。asax-或一定义的处理程序-抓住你的未经处理的例外并作出相应的反应- 像这样的

最好的解决方案

  • 确保你控制不要把未经处理的例外!

添加global.asax zh_cn实现Application_Error处理程序。使用Server.GetLastError()函数获取抛出异常的句柄。

使用global.asax Application_Error方法,如如何在ASP中创建自定义错误报告页面中所述。 NET使用Visual C#.NET

另一种方法是使用 HTTP模块;这为您提供了更多灵活性(例如,您可以处理来自多个应用程序的错误)。

你想抓住异常并处理它吗?

或者你想阻止黄色死亡屏幕吗?如果您试图阻止黄色死亡屏幕,请查看处理 HttpApplication 上的 Error 事件(换句话说,在您的Global.asax中)。

有关详细信息,请参阅以下MSDN页面: http://msdn.microsoft.com/en-我们/库/ system.web.httpapplication.error.aspx

特别是这一段:

  

可以通过调用GetLastError方法来访问引发Error事件的异常。如果您的应用程序生成自定义错误输出,请通过调用ClearError方法来禁止ASP.NET生成的默认错误消息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top