Hello Community!
I have the following Code
1-- In this block we perform the actual change.2DECLARE3 PARTTYPEERROR EXCEPTION;45 [SOME_OTHER_VARIABLES]6BEGIN78 FOR sale_part_to_update_rec IN ( 9 [SOME_SQL_TO_PERFORM_LOOP]10 ) LOOP 11 p0_ := NULL;12 p1_ := sale_part_to_update_rec.OBJID;13 p2_ := sale_part_to_update_rec.OBJVERSION;14 client_sys.add_to_attr(name_ => 'SOURCING_OPTION', value_ => sale_part_to_update_rec.SOURCING_OPTION, attr_ => p3_);15 client_sys.add_to_attr(name_ => 'RULE_ID', value_ => '', attr_ => p3_);16 p4_ := 'DO';1718 BEGIN 19 IFSAPP.SALES_PART_API.MODIFY__( p0_ , p1_ , p2_ , p3_ , p4_ ); 20 COMMIT;21 EXCEPTION22 WHEN PARTTYPEERROR THEN 23 [MY_ERROR_HANDLING_CODE]24 END; 25 END LOOP;26END;27I have noticed that even when the IFSAPP.SALES_PART_API.MODIFY code I execute results in an PARTTYPEERROR Exception...

… The block to handle that type of errors is never invoked. The exception is treated as an unhandled exception and the message displayed by PL/SQL Developer and the execution is halted.
What am I doing wrong? Should I not IFS Erorrs in this manner? should I catch them using some other approach?
Thanks!