How to exit early?
Bengt Richter
bokr at oz.net
Mon Aug 12 15:56:27 EDT 2002
More information about the Python-list mailing list
Mon Aug 12 15:56:27 EDT 2002
- Previous message (by thread): How to exit early?
- Next message (by thread): How to exit early?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, 12 Aug 2002 16:51:32 GMT, Pete Shinners <pete at shinners.org> wrote: >brobbins333 at shaw.ca wrote: >> The data input to my script may contain some that are special cases. >> If so, I want to process these in a special function, then exit >> without running the remainder of the script. What's the best way to do >> this? I need something like the 'exitsub' command in Visual Basic, or >> at least a way to jump to the end of the script and exit. Any >> suggestions? > >two ways to do it. first is the "exit" function from the sys module. > > exit([status]) > Exit the interpreter by raising SystemExit(status). > If the status is omitted or None, it defaults to zero (i.e., success). > If the status is numeric, it will be used as the system exit status. > If it is another kind of object, it will be printed and the system > exit status will be one (i.e., failure). > > >for example, you would use it like this, > > import sys > sys.exit(10) > > >you can also raise the SystemExit exception, which i often find is nice and >clean. > > raise SystemExit, "Exiting Early, whoops!" > You can also define your own exception, so that you can include some info and catch it at the end to do something more with. E.g., (untested): class BailAndDo(Exception): def __init__(self, info) : self.info = info ... try: ... # do stuff ... # deeper nested if need_to_bail_out: raise BailAndDo(some_info_from_here) ... except BailAndDo, e: do_something_with_bailout_info(e.info) Regards, Bengt Richter
- Previous message (by thread): How to exit early?
- Next message (by thread): How to exit early?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list