![](/img/trans.png)
[英]Unable to Catch COMException ( VB.net Excel workbook.styles)
[英]Can't catch COMException (vb.net)
我使用以下代码访问VSS项:
Dim sItem As String = "$/MyVssProject/InexistentFile.txt"
Dim oItem As SourceSafeTypeLib.VSSItem = Nothing
Try
oItem = m_oSourceSafe.VSSItem(sItem)
Catch ex As Runtime.InteropServices.COMException
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
End Try
我遇到的问题是当我尝试将实例获取到VSSDB中不存在的文件时,从而导致COMException,这基本上不会出现问题(我希望)。 实际上发生了异常,但调试光标不是继续使用catch代码,而是停留在“oItem = m_oSourceSafe.VSSItem(sItem)”行上,显示标题为“COMException越过本机/管理边界”的对话框。
从此处执行不会继续,直到我将sItem的内容更改为现有文件。
为什么异常没有被捕获,我怎样才能实现它?
环境:在WinXP SP3 x86上使用.Net 2.0的VS2010
谢谢伙伴们!
我发现了如何抓住:
在项目的设置中,在“调试”选项卡上,选择“启用非托管代码调试”。 从现在开始,您应该可以聊聊异常。
这样做的缺点是,在单步执行代码时不再可能编辑代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.