I'm just testing out the new compiler warning contained in 11g related to the "when others" exception handler when it does not have a subsequent raise or raise_application_error.
in SQL plus, this works fine:
SQL> alter session set plsql_warnings='enable:all';
Session altered.
SQL>
SQL> create or replace function do_stuff
2 return number
3 as
4 v_return number;
5 begin
6
7 v_return := 3;
8 return v_return;
9
10 exception
11 when others then
12 return null;
13 end;
14 /
SP2-0806: Function created with compilation warnings
SQL> show errors;
Errors for FUNCTION DO_STUFF:
LINE/COL ERROR
-------- -----------------------------------------------------------------
1/1 PLW-05018: unit DO_STUFF omitted optional AUTHID clause; default
value DEFINER used
11/6 PLW-06009: procedure "DO_STUFF" OTHERS handler does not end in
RAISE or RAISE_APPLICATION_ERROR
but in SQL developer the output is:
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
session SET altered.
FUNCTION do_stuff compiled
No Errors.
Anyone experience this issue? is there some setting that makes SQL developer behave differently?