
Runtime Error Handling
DECLARE
stock_price NUMBER := 9.73;
net_earnings NUMBER := 0;
pe_ratio NUMBER;
BEGIN
-- Calculation might cause division-by-zero error.
pe_ratio := stock_price
/ net_earnings;
dbms_output.Put_line('Price/earnings ratio = '
||pe_ratio);
EXCEPTION -- exception handlers begin
-- Only one of the WHEN blocks is executed.
WHEN zero_divide THEN -- handles 'division by zero' error
dbms_output.Put_line('Company must have had zero earnings.');
pe_ratio := NULL;
WHEN OTHERS THEN -- handles all other errors
dbms_output.Put_line('Some other kind of error occurred.');
pe_ratio := NULL;
END; -- exception handlers and block end here
/
OUTPUT:-
Company must have had zero earnings.
PL/SQL procedure successfully completed.

0 comments:
Post a Comment