GNU Info

Info Node: (python2.1-lib.info)Warnings Filter

(python2.1-lib.info)Warnings Filter


Next: Available Functions Prev: Warning Categories Up: warnings
Enter node , (file) or (file)node

The Warnings Filter
-------------------

The warnings filter controls whether warnings are ignored, displayed,
or turned into errors (raising an exception).

Conceptually, the warnings filter maintains an ordered list of filter
specifications; any specific warning is matched against each filter
specification in the list in turn until a match is found; the match
determines the disposition of the match.  Each entry is a tuple of the
form (ACTION, MESSAGE, CATEGORY, MODULE, LINENO), where:

   * ACTION is one of the following strings:

     Value                              Disposition
     ------                             -----
     "error"                            turn matching warnings into
                                        exceptions
     "ignore"                           never print matching warnings
     "always"                           always print matching warnings
     "default"                          print the first occurrence of
                                        matching warnings for each
                                        location where the warning is
                                        issued
     "module"                           print the first occurrence of
                                        matching warnings for each module
                                        where the warning is issued
     "once"                             print only the first occurrence
                                        of matching warnings, regardless
                                        of location

   * MESSAGE is a compiled regular expression that the warning message
     must match (the match is case-insensitive)

   * CATEGORY is a class (a subclass of `Warning') of which the warning
     category must be a subclass in order to match

   * MODULE is a compiled regular expression that the module name must
     match

   * LINENO is an integer that the line number where the warning
     occurred must match, or `0' to match all line numbers


Since the `Warning' class is derived from the built-in `Exception'
class, to turn a warning into an error we simply raise
`category(message)'.

The warnings filter is initialized by `-W' options passed to the Python
interpreter command line.  The interpreter saves the arguments for all
`-W' options without interpretation in `sys.warnoptions'; the
`warnings' module parses these when it is first imported (invalid
options are ignored, after printing a message to `sys.stderr').


automatically generated by info2www version 1.2.2.9