doug shawhan wrote: > Hi Andy, > > Putting a try:/except: loop in your __main__() (or whatever you call > your base function) with sys.exit("Message") is pretty much the way I > always do it. > > try: > gak = puke + die > except: > sys.exit("Oy!") > > If you would like sys.exit() to provide you with a bit more > information (like what actually happened during the failure and > where!) I found this handy function: > > > def formatExceptionInfo(maxTBlevel=5): > cla, exc, trbk = sys.exc_info() > excName = cla.__name__ > try: > excArgs = exc.__dict__["args"] > except KeyError: > excArgs = "<no args>" > > excArgsString = '' > for item in excArgs: > excArgsString = excArgsString + ' ' + str(item) > > excTb = traceback.format_tb(trbk, maxTBlevel) > excTbString = '' > for item in excTb: > excTbString = excTbString + " " + str(item) > > report = "%s %s %s"%(excName, excArgsString, excTbString) > return(report) > > This function now goes in most of what I do that requires error reporting. > > Hope this helps! > > On 6/13/06, Andy Koch <[EMAIL PROTECTED]> wrote: >> Bkgd: I've been doing PHP for the last several years. >> >> Q: In PHP there are functions die and exit which terminate processing of >> a script with an optional string output. Is there something similar to >> this in Python? >> >> _______________________________________________ >> Tutor maillist - Tutor@python.org >> http://mail.python.org/mailman/listinfo/tutor >> > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > Hi Doug,
copied and pasted, thanks although my reason for the die() was that I've started using Python to do DB maintenance. I find it very handy (ie IDLE) and the DB api's for all the different DB's I work with are nice and standardized (PHP could learn a thing there). One thing that has happened, though, is that I've clicked (via Winders Explorer) on a .py to open it for edit only to it have run, which is not what I want when the code could start modifying data. Thus far it hasn't caused any damage. So my safety check is to do a raw_input from a commonly included module which does the sys.exit() if running the code is not desired. A basic safety catch. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor