Access优雅的错误处理(避免程序崩溃)
Access VBA 中未处理的错误会直接弹出提示,影响用户体验。通过 On Error 语句可以捕获并自定义错误反馈。
示例:
Sub UpdateRecord()
On Error GoTo ErrorHandler ' 跳转到错误处理标签
' 业务逻辑(如修改记录)
CurrentDb.Execute "UPDATE 表 SET 字段=1 WHERE ID=10"
Exit Sub ' 正常退出
ErrorHandler:
MsgBox "操作失败!错误信息:" & Err.Description & "(错误代码:" & Err.Number & ")", vbCritical
Resume Next ' 或 Resume 回到错误行重试,或 Exit Sub 退出
End Sub
技巧扩展:
用 On Error Resume Next 临时忽略可恢复错误(如检查文件是否存在),但需及时 On Error GoTo 0 恢复默认错误处理。
记录错误日志:将 Err.Description 写入日志表,方便后续排查。
Access VBA 中未处理的错误会直接弹出提示,影响用户体验。通过 On Error 语句可以捕获并自定义错误反馈。
示例:
Sub UpdateRecord()
On Error GoTo ErrorHandler ' 跳转到错误处理标签
' 业务逻辑(如修改记录)
CurrentDb.Execute "UPDATE 表 SET 字段=1 WHERE ID=10"
Exit Sub ' 正常退出
ErrorHandler:
MsgBox "操作失败!错误信息:" & Err.Description & "(错误代码:" & Err.Number & ")", vbCritical
Resume Next ' 或 Resume 回到错误行重试,或 Exit Sub 退出
End Sub
技巧扩展:
用 On Error Resume Next 临时忽略可恢复错误(如检查文件是否存在),但需及时 On Error GoTo 0 恢复默认错误处理。
记录错误日志:将 Err.Description 写入日志表,方便后续排查。