← back to index

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