I have a module with some number conversion routines in it.  I bind this 
module to a program.  The procedures or function returns a status value 
signifing success(0), or overflow (3).  If I create a SIGNAL error handler 
and it gets invoked from one of the functions, am I able to set the return 
value? 


For example:

0183.00 
/*-------------------------------------------------------------------*/
0184.00 /* QXXBTOZ - Convert binary to zoned.   */
0185.00 
/*-------------------------------------------------------------------*/
0186.00 int QXXBTOZ(unsigned char *znd, int zlen,  
0187.00              unsigned char *bin, int blen, int hassign)           


The above function returns 0 if successful, or 3 for overflow.  Is there a 
way to set the return value to 3 if the SIGNAL error get involked.  OR, 
should I be using  catch, try exception handling?

Thanks in advance for any help you can provide.



Bobby.






Barbara Morris <bmorris@xxxxxxxxxx> 
Sent by: c400-l-bounces@xxxxxxxxxxxx
07/14/2003 07:11 PM
Please respond to
C programming iSeries / AS400 <c400-l@xxxxxxxxxxxx>


To
C400-L@xxxxxxxxxxxx
cc

Subject
[C400-L] Re: Trap for errors






Bobby.Hicks@xxxxxxxxxxxxxxxx wrote:
> 
> I am new to C, and I'm hoping that someone can help me.  How can I check
> for errors during procedure/program flow.  Basically I have a conversion
> routine to convert a binary field to either a packed or zoned field.   I
> want to ensure that an overflow problem or something similar does not 
give
> a hard error, instead I want to return an error code to the calling
> program.  Thanks for any help  you can provide me.
> 
> Bobby.

Bobby, C's standard exception handling is through "signals", using
functions setjmp, signal and longjmp.

ILE C also has #pragma exception_handler.

You could also use ILE Condition Handlers - see functions CEEHDLR and
CEEHDLU.

I personally find the #pragma exception_handler to be the easiest to
use, but if you want to learn something that's standard for C, learn
about signals.

_______________________________________________
This is the C programming iSeries / AS400 (C400-L) mailing list
To post a message email: C400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.



This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact [javascript protected email address].