rspec/rules/S1763/plsql/rule.adoc

41 lines
889 B
Plaintext
Raw Normal View History

2020-06-30 12:47:33 +02:00
Jump statements (<code>EXIT</code>, <code>CONTINUE</code>, <code>RETURN</code>, <code>RAISE</code>, and <code>RAISE_APPLICATION_ERROR</code>), 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:
* <code>EXIT</code> without a <code>WHEN</code>
* <code>CONTINUE</code> without a <code>WHEN</code>
* <code>RETURN</code>
* <code>RAISE</code>
* <code>RAISE_APPLICATION_ERROR</code>
== 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;
/
----
include::../see.adoc[]