S126 — "If ... ElseIf" constructs should end with "Else" clauses

Language
VB.NET
Type
Code smell
Severity
Critical

Why is this an issue?

This rule applies whenever an If statement is followed by one or more ElseIf statements; the final ElseIf should be followed by an Else statement.

The requirement for a final Else statement is defensive programming.

The Else statement should either take appropriate action or contain a suitable comment as to why no action is taken. This is consistent with the requirement to have a final Case Else clause in a Select Case statement.

Noncompliant code example


If x = 0 Then
    DoSomething()
ElseIf x = 1 Then
    DoSomethingElse()
End If

Compliant solution


If x = 0 Then
    DoSomething()
ElseIf x = 1 Then
    DoSomethingElse()
Else
    Throw New ArgumentException("...")
End If

Exceptions

None

↑ Back to top