错误陷阱(运行错误)语句简介
时 间:2010-07-09 10:18:52
作 者:王樵民 ID:5203 城市:郑州
摘 要:本文介绍错误陷阱的基本方法,为下一篇错误陷阱的妙用打基础。
正 文:
错误陷阱(运行错误)语句简介
On Error 语句:启动一个错误处理程序并指定该子程序在一个过程中的位置;也可用来禁止一个错误处理程序。
其语法有三种形式:
1、On Error GoTo line :启动错误处理程序,且该例程从必要的 line 参数中指定的 line 开始。line 参数可以是任何行标签或行号。如果发生一个运行时错误,则控件会跳到 line,激活错误处理程序。指定的 line 必须在一个过程中,这个过程与 On Error 语句相同; 否则会发生编译时间错误
一般语法格式
Sub 过程1(Var1, Var2, Var3, Var4)
On Error GoTo ErrorHandler
. . .
Exit Sub
ErrorHandler:
. . .
Resume Next
End Sub
该语句两种表示方法:
A、On Error GoTo 行号
示例1:本例中假设窗体上有一个按钮Command0,其单击事件的代码如下:
Private Sub Command0_Click()
On Error GoTo 100
DoCmd.OpenForm "窗体X"
Exit Sub
100 MsgBox ("错误号:" & Err.Number & ",错误描述:" & Err.Description)
End Sub
如果窗体X不存在,则就会进入错误陷阱程序,显示错误号及错误提示信息
B、On Error GoTo 标签
示例2:
Private Sub Command0_Click()
On Error GoTo err1
DoCmd.OpenForm "窗体X"
Exit Sub
err1:
MsgBox ("错误号:" & Err.Number & ",错误描述:" & Err.Description)
End Sub
示例2与示例1等效。
示例3:本例中假设窗体上有一个按钮Command0,其单击事件的代码如下:
Private Sub Command0_Click()
On Error GoTo err1
DoCmd.OpenForm "窗体X"
DoCmd.OpenForm "窗体1"
Exit Sub
err1:
MsgBox ("错误号:" & Err.Number & ",错误描述:" & Err.Description)
Resume Next '返回执行出错后的下一跳代码
End Sub
如果窗体X不存在,则就会进入错误陷阱程序,显示错误号及错误提示信息,接着执行DoCmd.OpenForm "窗体1"语句,如果窗体1存在则打开窗体,否则显示错误信息。
2、On Error Resume Next
On Error Resume Next 会使程序从紧随产生错误的语句之后的语句继续执行,或是从紧随最近一次调用含有 On Error Resume Next 语句的过程的语句继续运行。这个语句可以置运行时错误于不顾,使程序得以继续执行。可以将错误处理程序放置在错误发生的地方,而不必将控件传输到过程中的其它位置。在调用另一个过程时,On Error Resume Next 语句成为非活动的,所以,如果希望在例程中进行嵌入错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。
示例4:本例中假设窗体上有一个按钮Command0,其单击事件的代码如下:
Private Sub Command0_Click()
On Error Resume Next
DoCmd.OpenForm "窗体X"
DoCmd.OpenForm "窗体1"
End Sub
如果窗体X不存在,接着执行DoCmd.OpenForm "窗体1"语句,如果窗体1存在则打开窗体,否则什么也没做。
3、On Error GoTo 0 停止在当前过程中处理错误
关闭错我处理陷阱,错误陷阱失效。
可利用Err对象返回含有关于运行时错误的信息。
Err.Description '错误信息描述
Err.Number '错误号码
Err.Source '指明最初生成错误的对象或应用程序的名称。
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- Access控件美化之--美化按钮...(04.19)
- Access多行文本按指定字符筛选...(04.18)
- Microsoft Access数...(04.18)
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)