xdev.tracebacks module
- xdev.tracebacks.make_warnings_print_tracebacks()[source]
Makes warnings show tracebacks when displayed.
Applies a monkeypatch to warnings.formatwarning that includes a traceback in the displayed warning message.
Note
Use the context manager :class:WarningsWithTracebacks instead, or
WarningsWithTracebacks.apply()if global modification is needed.Example
>>> # xdoctest: +SKIP >>> make_warnings_print_tracebacks() >>> warnings.warn('This is a test warning')
- class xdev.tracebacks.WarningsWithTracebacks(thread_safe=True)[source]
Bases:
objectMakes warnings show tracebacks when displayed.
Applies a monkeypatch to warnings.formatwarning that includes a traceback in the displayed warning message.
CommandLine
xdoctest -m xdev.tracebacks WarningsWithTracebacks:0 xdoctest -m xdev.tracebacks WarningsWithTracebacks:1
Example
>>> # xdoctest: +IGNORE_WANT >>> from xdev.tracebacks import * # NOQA >>> import warnings >>> with WarningsWithTracebacks(): ... warnings.warn('This is a test warning') <string>:1: UserWarning: This is a test warning Traceback (most recent call last): ...
Example
>>> from xdev.tracebacks import * # NOQA >>> import warnings >>> warnings.warn('This warning1 has no traceback') >>> with WarningsWithTracebacks(): >>> warnings.warn('This warning2 has a traceback') >>> warnings.warn('This warning3 has no traceback')
Example
>>> import warnings >>> def my_function(): ... with WarningsWithTracebacks(): ... warnings.warn('This is a test warning') >>> def driver(): >>> my_function() >>> driver()
- _enter_count = 0