S131 — "Select" statements should end with a "Case Else" clause

Language
VB.NET
Type
Code smell
Severity
Critical
Tags
cwe

Why is this an issue?

The requirement for a final Case Else clause is defensive programming.

This clause should either take appropriate action or contain a suitable comment as to why no action is taken.

Noncompliant code example


Select Case param ' Noncompliant - Case Else clause is missing
  Case 0
    DoSomething()
  Case 1
    DoSomethingElse()
End Select

Compliant solution


Select Case param
  Case 0
    DoSomething()
  Case 1
    DoSomethingElse()
  Case Else ' Compliant
    DoSomethingElse()
End Select

Resources

↑ Back to top