title: Is it best practice for functions to return after raising an error in PL/SQL
body: <p>I have a bunch of functions in packages that first check the validity of the work being requested and throw exceptions if not.</p>
  
  <p>Example:</p>
  
  <pre><code>package body foo as
    function implode (
      i_foo_id number
    ) return implode_id as
      not_implodable exception;
      implode_id number;
    begin
      if not is_implodable(i_foo_id) then
        raise not_implodable;
      end if;
      //Implode logic here.
      return implode_id;
    exception
      when not_implodable then
        raise_application_error(-20005, 'Imploding is not possible on this foo.');
    end implode;
  end foo;
  </code></pre>
  
  <p>I have turned on warning reporting and get something like this when I compile.</p>
  
  <p>Warning(67,3): PLW-05005: subprogram IMPLODE returns without value at line 14.</p>
  
  <p>If I put a return statement after the raise_application_error then the warning goes away. Since raising the error exits the call stack, is there any good reason to return null anyways?</p>