Jump statements (EXIT, CONTINUE, RETURN, RAISE, and RAISE_APPLICATION_ERROR), move
control flow out of the current code block. So any statements that come after a jump are dead code.
This rule detects for statements that follow:
-
EXIT without a WHEN
-
CONTINUE without a WHEN
-
RETURN
-
RAISE
-
RAISE_APPLICATION_ERROR
Noncompliant code example
SET SERVEROUTPUT ON
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE('This will be printed out');
EXIT;
DBMS_OUTPUT.PUT_LINE('This will NEVER be printed out'); -- Non-Compliant
END LOOP;
END;
/
Compliant solution
SET SERVEROUTPUT ON
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE('This will be printed out');
EXIT;
END LOOP;
END;
/