Details

    • Type: Language-Specification
    • Status: Active
    • Resolution: Unresolved
    • Labels:
      None
    • Impact:
      Unknown 'null' severity
    • Likelihood:
      Unknown 'null' severity

      Description

      GoTo is an unstructured control flow statement. It makes code less readable and maintainable. Structured control flow statements such as If, For, While, or Exit should be used instead.

      Noncompliant Code Example

          Sub gotoStatementDemo()
              Dim number As Integer = 1
              Dim sampleString As String
              ' Evaluate number and branch to appropriate label.
              If number = 1 Then GoTo Line1 Else GoTo Line2
      Line1:
              sampleString = "Number equals 1"
              GoTo LastLine
      Line2:
              ' The following statement never gets executed because number = 1.
              sampleString = "Number equals 2"
      LastLine:
              ' Write "Number equals 1" in the Debug window.
              Debug.WriteLine(sampleString)
          End Sub
      

      Compliant Solution

          Sub gotoStatementDemo()
              Dim number As Integer = 1
              Dim sampleString As String
              ' Evaluate number and branch to appropriate label.
              If number = 1 Then
                  sampleString = "Number equals 1"
              Else
                  sampleString = "Number equals 2"
              End If
              Debug.WriteLine(sampleString)
          End Sub
      

      Exceptions

      On Error GoTo statements are ignored as correct error handling.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              ann.campbell.2 Ann Campbell
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: