爱问知识人 爱问教育 医院库

如何设置程序的错误出口?

首页

如何设置程序的错误出口?

在VB中如果执行错误,如何遇到错误跳转到某一行程序去执行?

提交回答
好评回答
  • 2019-04-04 20:34:31
      借用MSDN的说明:
    On Error 语句
    启动一个错误处理程序并指定该子程序在一个过程中的位置;也可用来禁止一个错误处理程序。
    语法
    On Error GoTo line 
    On Error Resume Next
    On Error GoTo 0
    On Error 语句的语法可以具有以下任何一种形式:
    语句 描述 
    On Error GoTo line  启动错误处理程序,且该例程从必要的 line 参数中指定的 line 开始。
      line 参数可以是任何行标签或行号。如果发生一个运行时错误,则控件会跳到 line,激活错误处理程序。指定的 line 必须在一个过程中,这个过程与 On Error 语句相同; 否则会发生编译时间错误。 On Error Resume Next 说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。
      访问对象时要使用这种形式而不使用 On Error GoTo。 On Error GoTo 0 禁止当前过程中任何已启动的错误处理程序。 说明 如果不使用 On Error 语句,则任何运行时错误都是致命的;也就是说,结果会导致显示错误信息并中止运行。
       一个“允许的”错误处理程序是由 On Error 语句打开的一个处理程序;一个“活动的”错误处理程序是处理错误的过程中允许的错误处理程序。如果在错误处理程序处于活动状态时(在发生错误和执行 Resume、Exit Sub、Exit Function 或 Exit Property 语句之间这段时间)又发生错误,则当前过程的错误处理程序将无法处理这个错误。
      控件返回调用的过程。如果调用过程有一个已启动的错误处理程序,则激活错误处理程序来处理该错误。如果调用过程的错误处理程序也是活动的,则控件将再往回传到前面的调用过程,这样一直进行下去,直到找到一个被允许的但不是活动的错误处理程序为止。如果没有找到被允许而且不活动的错误处理程序,那么在错误实际发生的地方,错误本身是严重的。
      错误处理程序每次将控件返回调用过程时,该过程就成为当前过程。在任何过程中,一旦错误处理程序处理了错误,在当前过程中就会从 Resume 语句指定的位置恢复运行。 注意 一个错误处理程序不是 Sub 过程或 Function 过程。它是一段用行标签或行号标记的代码。
       On Error 语句示例 本示例先使用 On Error GoTo 语句在一个过程中指定错误处理的代码所在。本示例中,试图删除一已经打开的文件从而生成的错误码为 55。这个错误将由示例中的错误处理程序码来处理,处理完後,控制会回到发生错误的语句处。
      On Error GoTo 0 语句关闭错误陷阱。然后 On Error Resume Next 语句用来改变错误陷阱,以便发觉下一个语句产生的错误的范围。请注意示例中使用 Err。Clear 在错误处理完後,清除 Err 对象的属性。 Sub OnErrorStatementDemo() On Error GoTo ErrorHandler ' 打开错误处理程序。
       Open "TESTFILE" For Output As #1 ' 打开输出文件。 Kill "TESTFILE" ' 试图删除已打开的文件。 On Error Goto 0 ' 关闭错误陷阱。 On Error Resume Next ' 改变错误陷阱。
       ObjectRef = GetObject("MyWord。Basic") ' 试图启动不存在 ' 的对象 '检查可能发生的 Automation 错误。 If Err。Number = 440 Or Err。
      Number = 432 Then ' 告诉用户出了什么事。然后清除 Err 对象。 Msg = "There was an error attempting to open the Automation object!" MsgBox Msg, , "Deferred Error Test" Err。
      Clear ' 清除 Err 对象字段。 End If Exit Sub ' 退出程序,以避免进入错误处理程序。 ErrorHandler: ' 错误处理程序。 Select Case Err。Number ' 检查错误代号。
       Case 55 ' 发生“文件已打开”的错误。 Close #1 ' 关闭已打开的文件。 Case Else ' 处理其他错误状态 。 。 。 End Select Resume ' 将控制返回到产生错误的语句。
       End Sub 。

    沈***

    2019-04-04 20:34:31

其他答案

    2019-04-04 21:05:51
  • on error goto 行号

    再***

    2019-04-04 21:05:51

  • 2019-04-04 21:01:02
  • privatesubcommand1_click()onerrorgotoErr'出错的语句(注意是运行错误而不是算法错误或者语法错误),比如n=inputbox("输入一个整数")msgbox3/n'如果n输入0就会出错,跳转到err:,否则不会跳转exitsub'注意设置错误转移一定要写上exitsub,否则无论是否出错都会执行下面 "错误"endsub

    我***

    2019-04-04 21:01:02

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 173-192
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):