|
Matthias Oertli wrote: >I've been asked to code a call to program B from within program A. -snip- >My problem is this: If program B (or the CL) fails for whatever >reason, program A regains control without the environment having been >restored to what it should be which could mean disaster. > >How can I guard against this situation? I would write the cleanup functions as a separate program/procedure; ideally I'd include the "set up" and "remove" functions in one procedure and call it with a parameter that tells it which to do. That way all your environment manipulation is done in one place. Once you have that, have A call B and have B pass back a "success/fail" flag. Use whatever error trapping you need in B. If B fails completely, A can still check the return code. If it is not set for "success" have A call the environment restore procedure. If B completes, have it call the environment restore procedure. If you will be needing to do a lot of this, I would make a small change and write an "environment save" procedure and an "environment restore" procedure. A does the save, B does the set, A does the restore. That way A is responsible for its own environment... I hope these ideas get you started in a direction that will work for you! Buck Calabro Commsoft; Albany, NY "Nothing is so firmly believed as that which we least know" -- Michel Montaigne Visit the Midrange archives at http://www.midrange.com +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
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.