|
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.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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 on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.