|
|
1
2
换句话说,如果在应用程序出错时手动设置HTTP状态,则会失去使用customErrors部分处理程序的可能性,因为您调用了server.clearror()。 在应用程序出错之前处理异常或从httpexception派生异常。
最好在控制器中处理异常。您可以引入基类控制器并处理自定义handleError属性中的大多数异常。您可以抛出httpexception their,它将由customErrors部分处理程序正确处理。 还可以从httpException(404)派生ObjectNotFoundException异常 应用程序错误是处理异常的最后机会。您只有响应API来处理它。您可以手动设置状态代码并写入响应,或者手动触发重定向到自定义错误页,或者将server.transferRequest()调用到现有的HTML或ASPX文件(而不是控制器操作)。在当前的ASP.NET版本中,不能在应用程序的“错误方法”中设置或更改server.getLastError,只能检索或清除它。
通过调用server.clearror()还可以清除当前请求错误,因此客户错误部分处理程序不处理该错误。
您不应该在应用程序错误方法中引发任何异常。异常意味着错误处理失败。 |