Issue3084
Created on 2008-06-11 22:50 by skip.montanaro, last changed 2008-06-11 23:47 by skip.montanaro.
|
msg68030 - (view) |
Author: Skip Montanaro (skip.montanaro) |
Date: 2008-06-11 22:50 |
|
This seems like a bug in optparse.OptionParser:
def exit(self, status=0, msg=None):
if msg:
sys.stderr.write(msg)
sys.exit(status)
def error(self, msg):
"""error(msg : string)
Print a usage message incorporating 'msg' to stderr and exit.
If you override this in a subclass, it should not return -- it
should either exit or raise an exception.
"""
self.print_usage(sys.stderr)
self.exit(2, "%s: error: %s\n" % (self.get_prog_name(), msg))
By default I think it should raise an exception when it encounters an error,
not exit. Programmers shouldn't be forced to subclass code in the standard
library to get recommended practice.
If you feel this behavior can't be changed in 2.6 it should at least be
corrected in 3.0.
Skip
|
|
msg68037 - (view) |
Author: Skip Montanaro (skip.montanaro) |
Date: 2008-06-11 23:46 |
|
I originally sent this by email but never saw it pop up. I eventually
submitted via the web.
|
|
| Date |
User |
Action |
Args |
| 2008-06-11 23:47:08 | skip.montanaro | set | status: open -> closed |
| 2008-06-11 23:46:47 | skip.montanaro | set | superseder: sys.exit() called from optparse - bad, bad, bad messages:
+ msg68037 |
| 2008-06-11 22:50:18 | skip.montanaro | create | |
|