【发布时间】:2019-02-15 00:15:34
【问题描述】:
我正在使用 excel 和 VBA。我试图从自动化异常中获取内部异常,但首先我需要让 try catch 块工作。看起来我已经完全复制了微软文档中的语法。代码如下:
Try
Set sm = CreateObject("SpectrumManager.Application")
Catch ex As Exception
MsgBox ("Can't Create Object") 'placeholder
'I want to get the inner exception from ex here
End Try
End Try 的错误消息是这样的:“预期:If or Select or Sub or Function or Property or Type or With or Enum or end of statement” Catch 处的错误消息是这样的:“预期:语句结束”
我做错了什么?我在这里先向您的帮助表示感谢。 编辑:我现在意识到 vba 不支持 try-catch 块。这就引出了一个问题,有没有办法从发送的原始异常中获取内部异常?还是在转换为 vba 错误时该信息丢失了?
【问题讨论】:
-
vba 不支持 try catch。 VB.net 确实
-
任何有关“Visual Basic”的 Microsoft 文档都在 .NET 下归档,并且与 VB.NET 有关; here 是 VBA 的 docs.microsoft。
-
您是用 VB.NET 还是 VBA 编程?我在 VBA 中期望的编译错误将是
Try行上的“未定义子或函数”。如果它通过了,它将在Catch行上出现一般的“语法错误”而失败。
标签: excel vba exception try-catch