[散分]vb达人请进,关于错误处理和内存释放
说来惭愧,小弟用vb编程数月,现在才开始注意到错误处理和内存释放的重要性。无奈在这方面所知甚少。希望各位高手帮帮忙,把大家在错误处理和内存释放方面的技巧共享出来。只要是这方面相关的知识就行,小弟这里先谢过了^-^
在此转贴一点资料,抛砖引玉
错误处理(未定)
在Main()函数或主窗体Load过程中添加如下代码:
'******************************************************
'
'打开错误日志文件,在Form_Unload()中关闭
'
'******************************************************
Dim strExePath As String
If Right(App.Path, 1) = "\" Then
strExePath = App.Path
Else
strExePath = App.Path & "\"
End If
intErrLogFileHandle = FreeFile()
Open strExePath + "Err.log" For Append Shared As intErrLogFileHandle
在主窗体退出函数中添加如下代码:
'******************************************************
'
'关闭错误日志文件
'
'******************************************************
Close #intErrLogFileHandle
在某个Module中添加:
'******************************************************
'
'写入错误日志
'
'******************************************************
Public Sub WriteErrLogFile(ByVal strSub As String, ByVal strErr As String)
Print #intErrLogFileHandle, Date, Time, strSub, strErr
End Sub
在每个过程或自定义的函数中,使用如下的系统错误捕获机制:
Public Function ForExample(…………) As Long
On Error Goto FuncError
ForExample=True
………………………
………………………
Exit Function
FuncError:
ForExample=False
WriteErrLogFile " ForExample ", "错误号:" & Err.Number & ",错误源:" & Err.Source & ",错误描述:" & Err.Description
MsgBox "……… ", vbCritical
'在此作内存资源回收工作
End Function