New submission from Jason R. Coombs <jar...@jaraco.com>:

I propose the following expansion of the interface of contextlib.suppress. 
Currently, when entering the context, suppress returns None. Instead, it could 
return an object that provides some detail about the exception.

Inspiration for an implementation exists in pytest 
(https://github.com/pytest-dev/pytest/blob/ff3d13ed0efab6692a07059b1d61c53eec6e0412/_pytest/python_api.py#L627),
 capturing the commonly-encountered use-cases, where one wishes to capture, 
suppress, and then act on a subset of exceptions, allowing others to raise 
normally.

In [py-181](https://github.com/pytest-dev/py/pull/181), I suggest exposing this 
functionality generally, but others had an instinct similar to mine - that 
perhaps the stdlib should be providing this interface.

In addition to saving the exception for inspection, the pytest implementation 
also allows a "message" to be supplied (for those exceptions where only some 
subset of the class of Exception is suppressed).

I present this concept here for consideration and feedback. Can 
contextlib.suppress be expanded with such an interface?

----------
components: Library (Lib)
messages: 314461
nosy: jason.coombs
priority: normal
severity: normal
status: open
title: contextlib.suppress should capture exception for inspection and filter 
on substrings
versions: Python 3.8

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33146>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to