|
Hi Scott,I probably didn't explain myself correctly. I was talking about trapping named errors/exceptions using on-error directly. An example would make it clearer. :-)
Rather than this..: d RECORD_LOCK c const(01218) d RESULT_TOO_BIG c const(00103) d ERROR_1 c const(some value) d ERROR_2 c const(some other value) monitor; doSomething(); on-error RECORD_LOCK; // Record Lock dsply 'Record Locked'; on-error *FILE; // Any other file error statusCode = %Status; dsply StatusCode; dsply 'Some File Error'; on-error RESULT_TOO_LARGE; // Field not large enough to hold result dsply 'Field is not large enough'; on-error *PROGRAM; // Any other program error statusCode = %Status; dsply StatusCode; dsply 'Some Program Error'; on-error; // Any error not already trapped select; when messageID = ERROR_1 dsply 'Error 1 occurred'; when messageID = ERROR_2; dsply 'Error 2 occurred'; endMon; I'd like to do this..: d RECORD_LOCK c const(01218) d RESULT_TOO_BIG c const(00103) d ERROR_1 c const(some value) d ERROR_2 c const(some other value) monitor; doSomething(); on-error RECORD_LOCK; // Record Lock dsply 'Record Locked'; on-error *FILE; // Any other file error statusCode = %Status; dsply StatusCode; dsply 'Some File Error'; on-error RESULT_TOO_LARGE; // Field not large enough to hold result dsply 'Field is not large enough'; on-error *PROGRAM; // Any other program error statusCode = %Status; dsply StatusCode; dsply 'Some Program Error'; on-error ERROR_1; // Custom error 1 dsply 'Error 1 occurred'; on-error ERROR_2; // Custom error 2 dsply 'Error 2 occurred'; endMon;It is the explicit trapping of a NAMED error that I'd like to do, but think I probably can't do. Like you said though, I could just call a named procedure in the on-error *all block and propigate that way. I'll take a look in the archives at the thread you mentioned.
Thanks for your help Larry Ducie
This mailing list archive is Copyright 1997-2026 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.