I've just spent an exciting (!) few minutes working through a printout of a 4 page procedure to make sure that all the SELECTs have appropriate NO_DATA_FOUND and TOO_MANY_ROWS handlers.
Apart from reorganising the procedure so that it's not so long, we have a large amount of legacy code with procedures that do span several pages / screens ...
I think that it would be an invaluable facility to be able to navigate to a specific exception handler for the current cursor position.
To suggest how this might be presented to the user:
On the Right-Click menu, just under 'Change Windows to >' there could be a sub-menu "Navigate to >' that lists, for example:
no_data_found exception handler
too_many_rows exception handler
others exception handler
.. listing only those handlers that are present in the scope of the "current procedure". This would include exception handlers outside sub-procedures, but could not speculate on the exception handling in procedures that might call this one.
eg:
The problem would arise if subproc were called at 'a'. I'll leave the developers to ponder on that one.
Reverse navigation may be more tricky, but I can see value in that, too.
Just a thought - hope it gets developed.
Thanks for reading.
Apart from reorganising the procedure so that it's not so long, we have a large amount of legacy code with procedures that do span several pages / screens ...
I think that it would be an invaluable facility to be able to navigate to a specific exception handler for the current cursor position.
To suggest how this might be presented to the user:
On the Right-Click menu, just under 'Change Windows to >' there could be a sub-menu "Navigate to >' that lists, for example:
no_data_found exception handler
too_many_rows exception handler
others exception handler
.. listing only those handlers that are present in the scope of the "current procedure". This would include exception handlers outside sub-procedures, but could not speculate on the exception handling in procedures that might call this one.
eg:
Code:
package body bod
procedure proc
is
procedure subproc
is
raise too_many_rows; -- Right-Click here allowing
-- navigate to ...
end subproc;
begin
subproc;
begin
null; -- a
exception
when too_many_rows then null;
end;
exception
when too_many_rows then null; -- ... here
end proc;
end bod;
The problem would arise if subproc were called at 'a'. I'll leave the developers to ponder on that one.
Reverse navigation may be more tricky, but I can see value in that, too.
Just a thought - hope it gets developed.
Thanks for reading.