我正在尝试创建一个高质量的ErrorHandler。我得到运行时错误438:
Object不支持此属性或方法
这是代码:
function bouncer(arr) {
return arr.filter(Boolean);
}
bouncer([7, 'ate', '', false, 9]);
// returns ['7','ate','9']
答案 0 :(得分:1)
&
)开始的,它不连接到任何“第一”部分,即使它既未分配给变量也未显示为一个对话框。
首先将其显示在MsgBox中:
MsgBox vbNewLine & "Error" & Err.Number & Err.line & Err.Description
或首先将其分配给变量:
Dim errMsg As String
errMsg = vbNewLine & "Error" & Err.Number & Err.line & Err.Description
然后打印出来:
Debug.Print errMsg
或将其记录到单元格
Range("A1") = errMsg
或在MsgBox中
MsgBox errMsg
...并且不要忘记指定你在哪一行引发异常(这里很明显,但并不总是很明显)因为如果不知道代码的哪一点就不可能进行调试抛出异常。
所以,我运行你的代码并引发错误,因为对象Err
(即抛出的异常)没有属性Line
。它可能已被弃用,或者从未存在过。
如果要返回发生错误的行,请使用ERL
属性:
MsgBox vbNewLine & "Error" & Err.Number & Erl & Err.Description