Skip to content

ErrorCallstack 类

ErrorCallstack对象是引发运行时错误时调用堆栈上活动过程链的快照——最外层帧在前,最内层(实际引发错误的过程)在后。每个帧以ErrorStackFrame的形式公开,通过其项目、模块和过程名称描述一个过程。

快照通过ErrorContext对象的Callstack属性读取,而ErrorContext本身可从结构化错误处理机制访问——通常在Catch块或On Error处理器内部。

vb Sub LogStackTrace(ByVal Stack As ErrorCallstack) Dim i As Long For i = 1 To Stack.Count Dim Frame As ErrorStackFrame Set Frame = Stack.Items(i) Debug.Print Frame.ProjectName & "." & Frame.ModuleName & "." & Frame.ProcedureName Next i End Sub

此集合为只读,没有_NewEnum成员,因此不能使用For Each迭代——请使用从1到Count的数值循环,并使用Items读取每个帧。

成员

Count

返回快照中的帧数。

语法:object.Count

object
必需 求值为ErrorCallstack对象的对象表达式。

值为LongItems的有效索引范围从1到Count。如果拍摄快照时堆栈上没有过程,Count为�。

Items

按从一开始的位置从快照中返回一个帧。

语法:object.Items( Index )

object
必需 求值为ErrorCallstack对象的对象表达式。
Index
必需 给出要返回帧从一开始位置的Long。帧1是堆栈上最外层的过程;帧Count是最内层——引发错误的过程。Index必须在1和Count之间;否则将发生错误。

结果为描述该位置过程的ErrorStackFrame

twinBASIC及其LOGO版权为作者"韦恩"所有