[Python-ideas] adding a Debug exception?
steve at pearwood.info
Tue Feb 28 07:39:50 CET 2012
On Mon, Feb 27, 2012 at 09:34:02PM -0700, Mark Janssen wrote:
> Had an idea on another thread (doctest) about a special exception called
> "Debug" that could could be raised to generate arbitrary output to stderr.
> This would be used instead of spurious print statements in code to inform
> developers during debugging (which might throw off doctest, for example).
Printing to sys.stderr does not throw off doctest. If you use
print(something, file=sys.stderr) # Python 3
print >>sys.stderr, something # Python 2
the output is invisible to doctest.
> It could also replace "assert" (and improve upon it) which seems to be
What makes you think assert is deprecated?
Informational messages printed to stderr and assertions are completely
different functions. You can't replace one with the other.
> Also, the __debug__ global could actually gain some
What makes you think it doesn't?
__debug__ is very useful for conditional compilation of debugging code
that is safe to optimise away when running under -O. I use it in most of
> Its "argument" could be an `eval`uatable string (checked at compile time)
> and it's output, this very string *plus* the output of it (if it evaluates
> to something different than itself).
So you mean, anything except a quine would be printed?
I don't get what you mean, or how you intend for this to be used.
More information about the Python-ideas