How do I create user-defined warnings?
Hans Nowak
zephyrfalcon!NO_SPAM! at gmail.com
Tue Jun 17 22:28:33 EDT 2008
Clay Hobbs wrote:
> I already know how to make user-defined exceptions, like this one:
>
> class MyException(Exception):
> pass
>
> But for a module I'm making, I would like to make a warning (so it just
> prints the warning to stderr and doesn't crash the program). I have
> tried this:
>
> class MyWarning(Warning):
> pass
>
> And it behaves like a normal error. Please help me, I can't figure out
> what I'm doing wrong.
Are you using the warning with 'raise'? Don't do that, use warnings.warn instead:
In [1]: import warnings
In [2]: class MyWarning(Warning): pass
...:
In [3]: warnings.warn(MyWarning("bah humbug"))
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/IPython/FakeModule.py:1:
MyWarning: bah humbug
# -*- coding: utf-8 -*-
--
Hans Nowak (zephyrfalcon at gmail dot com)
http://4.flowsnake.org/
More information about the Python-list
mailing list