在ReportDocument.ExportToHttpResponse中尝试/捕获不捕获System.Threading.ThreadAbortException

jar*_*edk 6 c# asp.net try-catch crystal-reports threadabortexception

我试图使用ExportToHttpResponse如下导出Crystal ReportDocument :

report.ExportToHttpResponse(exportOptions, HttpContext.Current.Response, true, "test");
Run Code Online (Sandbox Code Playgroud)

当我第一次尝试运行时,我收到了一个System.Threading.ThreadAbortException.阅读有关如何,这是一个已知的误差后ExportToHttpResponse这个问题,我想实现像这样一个try/catch块包裹语句的建议的解决方法:

try
{
    report.ExportToHttpResponse(expOptions, HttpContext.Current.Response, true, "test");
}
catch (System.Threading.ThreadAbortException e)
{
}
Run Code Online (Sandbox Code Playgroud)

据我了解,这应该捕获并忽略错误,然后继续.但是,我仍然得到System.Threading.ThreadAbortException了catch语句的结束括号.我的问题是为什么即使我显然正在捕获它仍然会收到异常,我怎么能去修复它以便忽略异常?

Car*_*ppa 8

您可以捕获ThreadAbortException并调用Thread.REsetAbort方法,以取消异常的冒泡.但是,请记住,response.end是一个坏主意.每当你可以尝试调用HttpApplication.CompleteRequest(),并阅读这个在这方面对我来说真正有用的问题.