Details

    • Type: Language-Specification
    • Status: Active
    • Resolution: Unresolved
    • Labels:
      None
    • Impact:
      Unknown 'null' severity
    • Likelihood:
      Unknown 'null' severity

      Description

      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 OTHER clause in a SELECT statement.

      Noncompliant Code Example

      C                   IF         RESULT = 0
      C                   ...
      C                   ELSEIF     RESULT > 0
      C                   ...
      C                   ENDIF
      
       /free
         if result = 0;
           ...
         elseif result > 0;
           ...
         endif;
       /end-free
      

      Compliant Solution

      C                   IF         RESULT = 0
      C                   ...
      C                   ELSEIF     RESULT > 0
      C                   ...
      C                   ELSE
      C                   EXSR       ERRO
      C                   ENDIF
      
       /free
         if result = 0;
           ...
         elseif result > 0;
           ...
         else;
           exsr ERR0;
         endif;
       /end-free
      

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              ann.campbell.2 Ann Campbell
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: