Skip to main content

SA0075: Fehlendes ELSE

Ermittelt CASE-Anweisungen ohne ELSE-Zweig.

Begründung: Defensive Programmierung fordert das Vorhandensein eines ELSE in jeder CASE-Anweisung. Wenn im ELSE-Fall nichts zu tun ist, dann sollten Sie dies durch einen Kommentar kennzeichnen. Dem Leser des Codes ist dann klar, dass der Fall nicht einfach vergessen wurde.

Wichtigkeit: Niedrig

PLCopen-Regel: L17

Wichtig

Bei CASE-Anweisungen, die Aufzählungen mit Attribut strict verwenden und bei denen alle Enum-Konstanten in der CASE-Anweisung verwendet werden, wird keine Fehlermeldung ausgegeben.

Beispiel 82. Beispiel
PROGRAM PLC_PRG
VAR
    iVar : INT;
    xTemp : BOOL;
END_VAR
iVar := iVar + INT#1;
CASE iVar OF
    INT#1:
        xTemp := FALSE;
    INT#2:
        xTemp := TRUE;
END_CASE

Ausgabe unter Ansicht Meldungen:

  • sa_icon_message.png SA0075: Fehlendes ELSE in CASE-Anweisung