我正在研究Catia Automation
。
场景是,只要特定许可证不可用,就会弹出一条消息,说no licences are available
并显示使用许可证的部分用户列表。
有没有什么方法可以通过代码读取消息并用作字符串?
答案 0 :(得分:0)
来自官方文档和#34; 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
答案 1 :(得分: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