精华内容
下载资源
问答
  • 在程序设计中,变量、类型等是基础,语句才是直接影响程序功能发挥...其实循环可以说是判断+跳转,如汇编的修改IP指针,C++和VB的Goto语句,C/C++也可以用指针 来跳转,但是专门的循环语句要容易用的多,VB中常见的...

    在程序设计中,变量、类型等是基础,语句才是直接影响程序功能发挥的因素

    程序的功能无非就是这么几个:

    判断:

    判断某个变量是不是某个值,然后执行某个动作

    跳转:

    通常在判断后转到对应的语句上,而不是一路执行下来

    循环:

    其实循环可以说是判断+跳转,如汇编的修改IP指针,C++和VB的Goto语句,C/C++也可以用指针

    来跳转,但是专门的循环语句要容易用的多,VB中常见的循环就是For循环和Do循环,应该说Do循环

    是包含了While循环的。

    退出循环,可以用Exit语句,Exit for,Exit Do,While循环则不能半路退出,直到条件满足。

    我们来看例子:

    Public Sub dfind()
    Dim i, j As Integer
    Dim bFind As Boolean
    For i = 1 To 5
    For j = 0 To i
    If i * j > 10 Then '判断
    bFind = True '标识已经完成
    MsgBox str(i) + " " + str(j)
    Exit For '只是退出for j循环
    If bContinue = False Then Exit Sub '直接跳出过程,当然也跳出了所有循环
    End If
    Next j
    If bFind = True Then Exit For '满足则跳出for i循环,否则继续
    Next i
    End Sub

    其实对这种问题有一种豪放就是Debug,VB6中用F8单步调试,就可以对整个过程一目了然了。

    展开全文
  • VB中错误处理On Error应用

    千次阅读 2015-06-24 22:55:42
     启动一个错误处理程序并指定该子程序在一个过程中的位置;也可用来禁止一个错误处理程序。  语法:  On Error GoTo line  On Error Resume Next  On Error GoTo 0  On Error 语句的语法可以...

    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 过程。它是一段用行标签或行号标记的代码。错误处理程序依靠 Err 对象的 Number 属性中的值来确定错误发生的原因。在其它任何错误发生之前,或在调用一个可能会导致错误发生的过程之前,错误处理程序应该先测试或存储 Err 对象中相关的属性值。Err 对象中的属性值只反映最近发生的错误。Err.Description 中包含有与 Err.Number 相关联的错误信息。On Error Resume Next 会使程序从紧随产生错误的语句之后的语句继续执行,或是从紧随最近一次调用含有 On Error Resume Next 语句的过程的语句继续运行。这个语句可以置运行时错误于不顾,使程序得以继续执行。可以将错误处理程序放置在错误发生的地方,而不必将控件传输到过程中的其它位置。在调用另一个过程时,On Error Resume Next 语句成为非活动的,所以,如果希望在例程中进行嵌入错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。注意 当处理在访问其它对象期间产生的错误时,与其使用 On Error GoTo 指令,不如使用 On Error Resume Next。每次和对象打交道,在不知道用代码访问哪个对象时,检查一下 Err 都会打消这种疑虑。可以确定是哪个对象产生错误(Err.Source 中指定的对象),也可以确定是哪个对象将错误代码放在 Err.Number 中。On Error GoTo 0 停止在当前过程中处理错误。即使过程中包含编号为 0 的行,它也不把行 0 指定为处理错误的代码的起点。

           如果没有 On Error GoTo 0 语句,在退出过程时,错误处理程序会自动关闭。在错误未发生的时候,为了防止错误处理程序代码运行,请像在下段程序中那样,在紧靠着错误处理程序的前面写入 Exit Sub、Exit Function 或 Exit Property 语句。Sub InitializeMatrix(Var1, Var2, Var3, Var4)   On Error GoTo ErrorHandler   . . .   Exit SubErrorHandler:   . . .   Resume NextEnd Sub此处,错误处理程序代码在 Exit Sub 语句之后,而在 End Sub 语句之前,从而与过程中的流程分开。错误处理程序代码可以在程序中的任何地方写入。当对象作为文件运行时,对象中未捕获的错误都被返回控制应用程序。在开发环境中,如果设置了正确选项,未捕获的错误只返回控制应用程序。请参考主应用程序的文档的有关描述,从而得知,在调试时应该设置哪些选项、如何设置这些选项以及主机能否建立类。如果建立一个访问其它对象的对象,则应该着手处理从那些对象返回的未处理错误。如果无法处理这种错误,请将 Err.Number 中的错误代码当作自己的一个错误,然后将错误回传给对象的调用者。应该将错误代码添加到 vbObjectError 常数上来指定这个错误。

          举例来说,如果错误代码为 1052,则使用如下方法指定错误:      

          Err.Number = vbObjectError + 1052

          注意 调用动态链接库 (DLL) 期间产生的系统错误不会产生例外情况,也不会被 Visual Basic 的错误捕获操作所捕获。当调用 DLL 函数时,应该(根据 API 的详细说明)检查每一个返回值以确定是成功还是失败,如果失败,则检查 Err 对象的 LastDLLError 属性中的值。

           On Error GoTo 0 
    表示禁止当前过程中任何已启动的错误处理程序。 

           On Error Resume Next 
    说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用 On Error GoTo。 

           On Error GoTo line 
    启动错误处理程序,且该例程从必要的 line 参数中指定的 line 开始。line 参数可以是任何行标签或行号。如果发生一个运行时错误,则控件会跳到 line,激活错误处理程序。指定的 line 必须在一个过程中,这个过程与 On Error 语句相同; 否则会发生编译时间错误。 

    以上MSDN上的解释 

           一般情况下,如果在对我们创建的对象或控件进行错误捕捉,需要使用On Error Resume Next ,然后在判断它的Err.Number,根据错误类型来做相应的处理。

    展开全文
  • 启动一个错误处理程序并指定该子程序在一个过程中的位置;也可用来禁止一个错误处理程序。 语法 On Error GoTo line On Error Resume Next On Error GoTo 0 On Error 语句的语法可以具有以下任何一种形式: 语句 ...

    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 语句打开的一个处理程序;一个“活动的”错误处理程序是处理错误的过程中允许的错误处理程序。如果在错误处理程序处于活动状态时(在发生错误和执行 ResumeExit SubExit FunctionExit Property 语句之间这段时间)又发生错误,则当前过程的错误处理程序将无法处理这个错误。控件返回调用的过程。如果调用过程有一个已启动的错误处理程序,则激活错误处理程序来处理该错误。如果调用过程的错误处理程序也是活动的,则控件将再往回传到前面的调用过程,这样一直进行下去,直到找到一个被允许的但不是活动的错误处理程序为止。如果没有找到被允许而且不活动的错误处理程序,那么在错误实际发生的地方,错误本身是严重的。(读到这里的理解就是当前处理错误的程序只能同时来处理一个错误,如果错误同时发生并且是同一个错误,那么说明错误本身是严重的。)

          错误处理程序每次将控件返回调用过程时,该过程就成为当前过程。在任何过程中,一旦错误处理程序处理了错误,在当前过程中就会从 Resume 语句指定的位置恢复运行。(有点中断的味道)

     

     

    注意 一个错误处理程序不是 Sub 过程或 Function 过程。它是一段用行标签或行号标记的代码。

    错误处理程序依靠 Err 对象的 Number 属性中的值来确定错误发生的原因。在其它任何错误发生之前,或在调用一个可能会导致错误发生的过程之前,错误处理程序应该先测试或存储 Err 对象中相关的属性值。Err 对象中的属性值只反映最近发生的错误。Err.Description 中包含有与 Err.Number 相关联的错误信息。

    On Error Resume Next 会使程序从紧随产生错误的语句之后的语句继续执行,或是从紧随最近一次调用含有 On Error Resume Next 语句的过程的语句继续运行。这个语句可以置运行时错误于不顾,使程序得以继续执行。可以将错误处理程序放置在错误发生的地方,而不必将控件传输到过程中的其它位置。在调用另一个过程时,On Error Resume Next 语句成为非活动的,所以,如果希望在例程中进行嵌入错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。

     

     

     

    注意 当处理在访问其它对象期间产生的错误时,与其使用 On Error GoTo 指令,不如使用 On Error Resume Next。每次和对象打交道,在不知道用代码访问哪个对象时,检查一下 Err 都会打消这种疑虑。可以确定是哪个对象产生错误(Err.Source 中指定的对象),也可以确定是哪个对象将错误代码放在 Err.Number

    On Error GoTo 0 停止在当前过程中处理错误。即使过程中包含编号为 0 的行,它也不把行 0 指定为处理错误的代码的起点。如果没有 On Error GoTo 0 语句,在退出过程时,错误处理程序会自动关闭。

    在错误未发生的时候,为了防止错误处理程序代码运行,请像在下段程序中那样,在紧靠着错误处理程序的前面写入 Exit Sub、Exit FunctionExit Property 语句。

    Sub InitializeMatrix(Var1, Var2, Var3, Var4)
       On Error GoTo ErrorHandler
       . . .
       Exit Sub
    ErrorHandler:
       . . .
       Resume Next
    End Sub
    

    此处,错误处理程序代码在 Exit Sub 语句之后,而在 End Sub 语句之前,从而与过程中的流程分开。错误处理程序代码可以在程序中的任何地方写入。

    当对象作为文件运行时,对象中未捕获的错误都被返回控制应用程序。在开发环境中,如果设置了正确选项,未捕获的错误只返回控制应用程序。请参考主应用程序的文档的有关描述,从而得知,在调试时应该设置哪些选项、如何设置这些选项以及主机能否建立

    如果建立一个访问其它对象的对象,则应该着手处理从那些对象返回的未处理错误。如果无法处理这种错误,请将 Err.Number 中的错误代码当作自己的一个错误,然后将错误回传给对象的调用者。应该将错误代码添加到 vbObjectError 常数上来指定这个错误。举例来说,如果错误代码为 1052,则使用如下方法指定错误:

    Err.Number = vbObjectError + 1052
    
    

    注意 调用动态链接库 (DLL) 期间产生的系统错误不会产生例外情况,也不会被 Visual Basic 的错误捕获操作所捕获。当调用 DLL 函数时,应该(根据 API 的详细说明)检查每一个返回值以确定是成功还是失败,如果失败,则检查 Err 对象的 LastDLLError 属性中的值。

    展开全文
  •  结构化异常处理是随着.NET的第一个版本的发行而加入到Visual Basic语言中的。结构化异常处理的重要性基于下面两个原因: 1. 与以前的On Error Goto...语句相比而言,通过使用一种与该语言其它部分更适应的语法...
      提要 本文在简要分析VB 2005所提供的异常处理机制的同时,详细讨论如何用它所提供的异常类定制自己的异常。

      结构化异常处理是随着.NET的第一个版本的发行而加入到Visual Basic语言中的。结构化异常处理的重要性基于下面两个原因:

      1. 与以前的On Error Goto...语句相比而言,通过使用一种与该语言其它部分更适应的语法从而使得代码更具有可读性。

      2. 比以前的On Error Goto...语句功能更强,而且提供了更为灵活性的控制能力。

      一、 捕获并抛出异常

      异常处理是用Try...Catch...Finally...End Try语句实现的,其基本语法形式如下:

    Try
    '能够引发一个异常的代码
    Catch
    '处理异常的代码
    Finally
    '实现清理工作的代码(如关闭数据库连接,等等)
    End Try

      Try和End Try语句都是必需的。Catch和Finally语句可以共同使用于一个Try块中,但是至少使用其中之一。而且,可以使用多个Catch语句来处理不同类型的异常。如果你有多个Catch块,可以对它们加以排序:从最具体的异常类型到最粗略的异常类型:

    Try
     '能够引发一个异常的代码
    Catch ex As ArgumentOutOfRangeException
     '有可能使用一个缺省值来处理一个无效参数以便使代码继续执行
    Catch ex As Exception
     '处理任何其它类型的异常
    Finally
     '实现清理工作的代码(如关闭数据库连接,等等)
    End Try

      你也可以在你的代码中抛出异常。当你在代码中执行一些清理工作时,捕获并抛出异常是很有用的-这样以来,一个更高层级的过程可以捕获它。当你创建定制异常类型时,抛出异常也很有用。

      为了抛出一个异常,你可以编写如下形式的代码:

    Throw New ArgumentOutOfRangeException

      ArgumentOutOfRangeException告诉Throw语句要抛出什么类型的异常。这个ArgumentOutOfRangeException类型仅是.NET框架所提供的众多的类型之一。

      二、 传播异常

      当一个异常出现于你的代码的某处时,你可以以三种方式传播它:

      ·什么也不做而让它自动地传播回调用栈(由系统自动处理)。

      ·捕获并再次抛出它。这可以允许你在Finally块中运行一些清理代码。

      ·捕获它,并使用InnerException属性在另一个异常中包装该异常,并且把这个新的异常抛回调用过程。这个InnerException属性可以让你维持原始的异常并在一个关系更为密切的异常中存放它的信息。 
    展开全文
  • VB,VB.NET,C#对比

    千次阅读 热门讨论 2014-12-07 21:24:56
    VB6.0,使用非结构化On Error Goto和On Error Resume Next异常处理语句。而在VB.NET,使用了结构化Try…Catch…Finally异常处理语句。 之前也有学习过C#,VB.NET和C#都是微软开发面向对象计算机语言...
  • On Error GoTo 0表示禁止当前过程任何已启动错误处理程序。On Error Resume Next说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用 On ...
  • VBVB.NET,C#对比

    千次阅读 热门讨论 2018-06-30 09:42:51
    使用的非结构化的On Error Goto和On Error Resume Next异常处理语句VB.NET和C#都是.NET平台上的编程语言,C#C#是微软公司发布的一种面向对象(将程序中的功能模块化,每个模块都是孤立的,并且提供特定的功能)的,...
  • 关于vb初学者忠告 信息来源:邪恶八进制信息安全团队(www.eviloctal.com) 1、如果一行程序太长,能不能换行? VB的程序代码是允许换行书写,只要在每次换行最后一个字符加上换行字符“_”就可以了。例如...
  • 讲解SQL语言的应用,提供了近500个曲型应用,读者可以随查随用,深入讲解SQL语言的各种查询语句,详细介绍数据库设计及管理,详细讲解存储过程、解发器和游标等知识,讲解了SQL语言在高级语言中的具体应用。...
  • .NET中的错误处理

    千次阅读 热门讨论 2014-04-30 15:23:24
    与VB相比,VB.NET在错误处理上也有了很大的改进,下面来谈一谈... VB.NET仍然包含了VB中的On Error语句,当考虑全局错误处理的时候,可以采用这种方法。下面是实例 On Error GoTo errorhandler Dim intx As Integer
  • VB.NET之错误异常处理

    2015-12-22 19:19:00
    相对于VB而言,VB.NET中引入了很多特色。当中最吸引我的就是引入了结构化异常处理。尽管VB.NET仍然支持OnError ... 在VB.NET结构中的异常处理分为3个语句块。 (1)try块负责错误代码的捕获 ...
  • vb 编 码 规 则 》

    2010-02-08 16:09:46
     1) 对于VB中的关键字,首字母被转换成大写,其余转换成小写  2) 若关键字由多个英文单词组成,则将每个单词的首字母转换成大写  3) 对于用户定义的变量、过程名,以第一次定义的为准,以后输入的自动转换成...
  • VB程序设计及应用

    2012-11-26 14:07:12
    5.3.4 GoTo语句 5.3.5 End语句 5.3.6 应用举例 习题一 5.4 数组 5.4.1 数组概念 5.4.2 静态数组定义 5.4.3 数组下标界测试函数 5.4.4 动态数组定义 5.4.5 数组清除和重新定义 ...
  • VB到易语言源代码转译软件1.0演示版

    热门讨论 2010-01-14 09:23:13
    3、目前,本软件所能做到的就是:其一,将VB的模块代码中的子程序定义、函数定义、参数定义、变量定义尽可能正确地转译为对应的易语言定义。其二,将VB的代码流程控制命令如If……Then、Select Case、For……Next等...
  • VB】On Error略解

    2016-02-13 20:07:55
    On Error GoTo 0 表示禁止当前过程任何已启动错误处理程序。   On Error Resume Next 说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种...
  • On Error GoTo 0 表示禁止当前过程任何已启动错误处理程序。 On Error Resume Next 说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用 ...
  • ·错误类型 ·编程员错误(比如分母不能是0,参数个数或数据类型不对应) ·环境...·后台编译·捕获错误 ·最好在代码放入一个on error语句 ·当出现错误时,使用on error goto,转移到别代码上去执行 
  • Word中的宏采用VBA,但是不支持VB中的错误处理机制,只能on error设置错误陷阱的方法进行错误处理。一般有以下几种方法: 方法一: On Error Resume Next 使用这种方法会在遇到错误语句时跳过此句,继续运行...
  • C程序设计语言(第2版·新版中文)

    热门讨论 2010-10-22 19:43:48
    3.8 goto语句与标号 第4章 涵数与程序结构 第5章 指针与数组 第6章 结构 第7章 输入与输出 第8章 UNIX系统接口 附录A 参考手册 附录B 标准库 附录C 变更小结 索引 作者介绍 ---------------------------...
  • 1、vb6主要使用 On Error GoTo语句来处理异常,c++程序员会留意异常是因为异常会因此降低性能( 如何降低?),c#不会因为异常降低性能(?) 2、一般情况下异常类没有特定命名空间,异常类应放在生成他们...
  •  如果有大量word文档需要修改某个术语或者什么固定的语句,逐一打开是件麻烦事,利用宏可以很很快完成这项任务,而且不会错漏。对例一修改一下就可以完成这个任务。 例二:全文查找替换。 Private Sub ...
  • 第4章 控制执行流程

    2013-05-01 14:45:00
    为了方便跳出多层循环而设计,需要与VB和C中的GOTO语句区别的是,标号需要直接写在需要跳出的循环开始的前一行。 View Code 1 import static java.lang.System.out; 2 public class He...
  • 异常(2 B CONTINUE)

    2007-04-14 20:47:00
    ⑵ On Error GoTo语句⑶ Resume、Resum Next和Resume语句⑷ Error语句⒉ 结构化异常处理语句⑴ 结构化异常:结构化异常处理测试特定代码片段,并在发生异常时改编此异常处理代码,以适应导致异常环境
  • [vb]代码库'把当前Excel工作簿所有工作表数据表格转换为Insert语句并导入SQL Server数据库。Option ExplicitPublic Sub CreateAllSheetsInsertScript()On Error GoTo ErrorHandler 'recordset and connection ...
  • VISUAL BASIC 编程标准

    2006-04-24 13:49:19
    6.5.1 使用On Error GoTo语句捕获意料之外的错误 6.5.2 使用On Error Resume Next语句捕获预料之中的错误 6.5.3 创建统一的错误处理程序块 第三部分 代码结构 第7章 代码的格式化 7.1 编程...
  • 3.5.1 GoTo语句 65 3.5.2 With语句 66 3.5.3 Stop语句和End语句 66 3.5.4 Exit语句 67 3.5.5 DoEvents语句 67 第4章 数组 69 4.1 数组概述 69 4.2 声明数组 69 4.2.1 声明一维数组 69 4.2.2 声明多维数组 ...
  • c#学习笔记.txt

    2008-12-15 14:01:21
    (1) foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。此语句的形式如下: foreach (type ...

空空如也

空空如也

1 2
收藏数 33
精华内容 13
关键字:

vb中的goto语句