小间错误线

我正在寻找一个奇怪的解决scheme,在一个被称为Sub错误的行识别。

这里是一个例子,它不告诉我在被调用的Sub错误的行,但只有主Sub的行。

 Private Sub TestThis() On Error GoTo ErrorHandler a1: Call SubError Exit Sub ErrorHandler: Debug.Print "Error: " & Erl & ", " & Err & ", " & Error(Err) End Sub Private Sub SubError() b1: Err.Raise Number:=2000, Description:="MyError" End Sub 

error_line的解决scheme是有一个叫做error_line的全局variables,并简单地通过代码改变它。

你知道这个更好的解决scheme吗?

在VBA中,恕我直言的最佳做法是将error handling程序放入绝对的每一个程序中。 然后在每个error handling程序中,可以调用处理错误的另一个中央例程(如写入日志或其他东西)。

噢,最好的做法是最大限度地减lessVBA的使用;) – 我的意思是真实的:将VBA当作小型项目的脚本语言; 但对于真正的大项目,最好使用C#或VB.NET,并创build一个自己的插件或可执行文件。