Re: non-Oracle exception -100501 ... seems solved

From: Jan Gelbrich <j_gelbrich_at_westfalen-blatt.de>
Date: Thu, 10 Apr 2003 14:58:26 +0200
Message-ID: <b73pt5$afhaj$1_at_ID-152732.news.dfncis.de>


ok, maybe this is interesting to others, too.

non-Oracle exception -100501 seems to indicate an inappropriate exception programming when using raise form_trigger_failure. (found something like that at metalink)

I had a long If-Block checking various rules to be met by the current record,
and if not met, I raise form_trigger_failure, maybe 20 times in that PU. But form_trigger_failure *is* a non-Oracle exception (it is user-defined), and so there must not be an exception WHEN OTHERS, which will then always be caught. So the exception is now simply set to

PU_Check_A_Bunch_Of_Rules_Before_Committing

   --huge If-Elsif-Block, rules are complicated and some mutually dependend.    ElsIf :Block.Record_Field_XYZ does no meet rule122    Then

       Message ...
       Raise form_trigger_failure; --Stop all actions to allow user for
making correct inputs.

   ElsIf ...and so on

Exception
When Others Then

        Null;
--in order not to propagate it to the rest of the actions End;

I am not sure if this exactly *was* the reason to throw -100501, but afterwards the symptom dissapeared.
What is left is a strange feeling what to do with eventual circumstances that are usually caught by When Others,
which cannot be caught any longer this way inside the PU because it does now Null ...

Any comments on this would be much appreciated.

TIA, Jan Received on Thu Apr 10 2003 - 14:58:26 CEST

Original text of this message