Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> RAISED EXCEPTION not well caught

RAISED EXCEPTION not well caught

From: Peter Wu <peterwu_at_hotmail.com>
Date: Mon, 08 Mar 2004 15:12:38 -0500
Message-ID: <c2ik3h$1rmpq2$1@ID-117651.news.uni-berlin.de>


Hello group,

I'm new to Oracle PL/SQL.

I have written a test script as follows.

BEGIN

	select min(contract_start_date)
	into l_min_contract_start_date
	from contracts
         where customer_last_name = 'Bush';

         if (l_min_contract_start_date is null) then
             raise NO_DATA_FOUND;
         end if;

	BEGIN

	/* do something */

	EXCEPTION WHEN NO_DATA_FOUND THEN
		BEGIN

/*
do something to handle the exception within the nearest BEGIN */ -- Exception Handler1 END; END; EXCEPTION WHEN NO_DATA_FOUND THEN BEGIN
/*
do something to handle the excpetion raised by contract_start_date SELECT */ -- Exception Handler2 END; END;

END; The problem I see is that when the NO_DATA_FOUND exception is raised after the SELECT, the program goes to Exception Handler1 instead of Exception Handler2 as I want it to.

What was I missing? Any insight will be appreciated!

-- 
"Conceal a flaw, and the world will imagine the worst."
			- Marcus Valerius Martialis
Received on Mon Mar 08 2004 - 14:12:38 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US