2017-04-19 29 views
-4

我写了一个窗口服务,将文件从转换XXX使用 DLL到XXX,但当system.accessviolationexception发生时我不能够捕获这些异常,即使我有try和捕获异常system.accessviolationexception catch块。不能使用C++ DLL

但过了一段时间我的服务自动崩溃,它会在事件查看器中写入日志。

描述:由于未处理的异常,进程终止。 异常信息:System.AccessViolationException

try 
{ 
    PDFNet.PDF.Convert.ToHtml(doc, htmlSourceFolderName, options); 
} 
catch (System.AccessViolationException avex) 
    { 
    logMgr.Error(avex.StackTrace); 
    } 
catch (Exception ex) 
{ 
    logMgr.Error(avex.StackTrace); 
} 

有没有什么办法让我可以得到想要的结果。

+4

显示我们有问题的适当的代码将是有益的快活好先生。 [mcve] – MickyD

+0

尝试 { PDFNet.PDF.Convert.ToHtml(doc,htmlSourceFolderName,options); } catch(System.AccessViolationException avex) logMgr.Error(avex.StackTrace); (例外ex) { logMgr.Error(avex.StackTrace); } –

+1

可能的重复[为什么AccessViolationException不能被.NET4.0捕获](http://stackoverflow.com/questions/12581202/why-accessviolationexception-cannot-be-caught-by-net4-0) –

回答

1

捕捉AccessViolationException不可能一般自.NET 4.0发布以来。

这是这里讨论:https://stackoverflow.com/a/12581291/1064169

+0

是否有可能,如果我使用.NET 4.5 –

+0

“_Since_”意思是“版本4和更高版本”,所以_in general_,no。为什么不阅读链接到另一个问题答案的MSDN文档? –