-
Type:
Language-Specification
-
Status: Active
-
Resolution: Unresolved
-
Labels:None
-
Impact:Unknown 'null' severity
-
Likelihood:Unknown 'null' severity
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 OTHERS clause in a CASE
statement.
Noncompliant Code Example
IF RESULT > 0. PERFORM do_something. ELSEIF RESULT = 0. PERFORM do_something_else. ENDIF.
Compliant Solution
IF RESULT > 0. PERFORM do_something. ELSEIF RESULT = 0. PERFORM do_something_else. ELSE. PERFORM error. ENDIF.