0

我正在努力Catia Automation

这种情况是,每当特定许可证不可用时,都会弹出一条消息,no licences are available并显示使用该许可证的用户的部分列表。

有什么方法可以通过代码读取消息并将其用作字符串?

4

2 回答 2

0

来自官方文档“CAA V5自动化编码规则”:

作为默认行为,每当出现错误时,解释器都会停止并显示错误消息框。当您想对错误采取纠正措施时,必须使用“On Error Resume Next”禁用自动错误处理机制。

这意味着您应该禁用默认错误处理,而是使用错误对象编写自定义逻辑Err

Dim CATIA As Object
On Error Resume Next      ' Disable automatic error handling
    Set CATIA=GetObject(,"CATIA.Application")
    iErr = Err.Number     ' For BasicScript parser (Unix)
    If (iErr <> 0) Then   ' Manually handle all errors
       On Error Goto 0    ' Invalidates the Resume Next and clears the error
        set CATIA=CreateObject("CATIA.Application")
    End If
On Error Goto 0           ' Invalidates the Resume Next and clears the error
于 2016-03-15T05:39:58.843 回答
0

Err 是包含错误信息的错误对象。

您可以使用 Err.Message、Err.description、Err.number 来获取信息

Sub yoursub
On Error goto error      ' goto error handling block
    Set CATIA=GetObject(,"CATIA.Application")

    // your code 

error:
Debug.print Err.Description  ' print description to immediate window
Debug.print Err.Source       ' print source of error to immediate window
Debug.print Err.Number       ' print error number to immediate window
End Sub
于 2016-03-21T09:12:05.113 回答