要确保在过程中每个错误处理标签名称是唯一的,而不会与过程中的其他任何元素发生冲突;并且在名称后面追加冒号。在过程中,请将 Exit Sub 或 Exit Function 语句放置在错误处理标签前面,这样如果没有错误发生,过程将不会运行错误检查代码。
Sub CausesAnError()
' Direct procedure flow.
On Error GoTo ErrorHandler
' Raise division by zero error.
Err.Raise 11
Exit Sub
ErrorHandler:
' Display error information.
MsgBox "Error number " & Err.Number & ": " & Err.Description
' Resume with statement following occurrence of error.
Resume Next
End Sub
Err 对象的 Raise 方法将生成指定的错误。Err 对象的 Number 属性返回最近一次运行时错误所对应的编号,Description 属性返回给定错误所对应的消息文本。
注释
在 Microsoft Access 1.x 和 2.0 版本中,可能已经使用 Error 语句来生成错误,使用 Err 函数来返回错误编号,使用 Error 函数来返回错误说明。依赖于 Error 语句和 Error 函数的现有错误处理代码将继续工作。不过在编写新代码时,最好使用 Err 对象及其属性和方法。
Microsoft Access 1.x 和 2.0 版本对于所有的自动化(以前称为 OLE 自动化)错误,仅返回一个错误。产生错误的 COM 组件应用程序也将返回一个错误信息,它与在该应用程序中工作时收到的错误信息相同。可能需要重写已有的错误处理代码,才能正确地处理新的“自动化”错误。
如果希望返回与 Microsoft Access 错误或数据访问对象 (DAO) 错误相关的说明性字符串,但该错误尚未在代码中实际发生,那么可以使用 AccessError 方法来返回字符串。 作者: 网络蜘蛛 时间: 2013-4-10 17:11
如果一和子程序中有可能出现两种错误,比如溢出错误和数据类型不同,怎么分别处理?(我看到的都是发生错误了会怎么样,没有发生这种错误怎么样,那种错误又怎么样。)作者: 叶海峰 时间: 2013-4-11 09:27
select case err.number
case 1
case 2
end select 作者: todaynew 时间: 2013-4-11 11:57