Why is this an issue?

Other than Exit Select, using an Exit statement is never a good idea.

Exit Do, Exit For, Exit Try, and Exit While will all result in unstructured control flow, i.e. spaghetti code.

Exit Function, Exit Property, and Exit Sub are all poor, less-readable substitutes for a simple return, and if used with code that should return a value (Exit Function and in some cases Exit Property) they could result in a NullReferenceException.

This rule raises an issue for all uses of Exit except Exit Select and Exit Do statements in loops without condition.

Noncompliant code example

Public Class Sample
  Dim condition As Boolean

  Public Sub MySub()
    If condition Then
      Exit Sub                  ' Noncompliant
    End If

    For index = 1 To 10
      If index = 5 Then
          Exit For               ' Noncompliant
      End If
      ' ...
    Next
  End Sub
  Function MyFunction() As Object
    ' ...
    MyFunction = 42
    Exit Function              ' Noncompliant
  End Function
End Class

Compliant solution

Public Class Sample
  Dim condition As Boolean

  Public Sub MySub()
    If condition Then
        Return
    End If

    For index = 1 To 4
        ' ...
    Next
  End Sub
  Function MyFunction() As Object
    ' ...
    Return 42
  End Function
End Class