wenn eine vordefinierte exception, z.b. NO_DATA_FOUND geworfen wird, bezieht sich das ja nehme ich an immer auf das erste vorkommnis dieses fehlers.
was ist aber nun, wenn ich danach noch abfragen habe, die auch so einen fehler werfen könnten? woher kann ich wissen, wer bei mehreren statements jetzt dafür verantwortlich war, wenn eine exception geworfen wurde?
oder ists generell besser, deswegen auf vordefinierte exceptions zu verzichten und lieber selbst welche zu definieren, wo´s dann klar ist, wer was geworfen hat?
zur besseren vorstellung:
Code:
BEGIN
select * from bla1 where x='y';
select * from bla2 where x='z';
EXCEPTION
when NO_DATA_FOUND then
dbms_output.put_line('nix gefunden');
-- woher weiß ich, wer die jetzt geworfen hat?
END;
/