# Gestionnaire de contexte qui ne s'exécute pas

**URL:** <https://discuss.afpy.org/t/gestionnaire-de-contexte-qui-ne-sexecute-pas/2839>\
**Category:** Entraide\
**Created:** [Novembre 5, 2025, 9:12 UTC](https://discuss.afpy.org/t/gestionnaire-de-contexte-qui-ne-sexecute-pas/2839 "2025-11-05T09:12:01Z")\
**Posts on this page:** 1\
**Showing post:** 20

<div class="post-metadata">

**Author:** ![debnet](https://discuss.afpy.org/user_avatar/discuss.afpy.org/debnet/32/7_2.png) [@debnet](https://discuss.afpy.org/u/debnet)\
**Post date:** [Novembre 7, 2025, 3:26 UTC](https://discuss.afpy.org/t/gestionnaire-de-contexte-qui-ne-sexecute-pas/2839/20 "2025-11-07T15:26:22Z")

</div>

En jouant un peu avec les frames, j’arrive à ça : à mon avis c’est pas fail-proof…

```python
import sys
import inspect

class _Stop(Exception):
    pass

class ignore:
    def __enter__ (self):
        self._frame = inspect.currentframe().f_back

        def tracer(frame, event, arg):
            if frame is self._frame and event == "opcode":
                raise _Stop

        self._frame.f_trace = tracer
        self._frame.f_trace_opcodes = True
        sys.settrace(tracer)

    def __exit__ (self, exc_type, exc, tb):
        return exc_type is _Stop

x = 1
print(f"Before ignore(): {x}")
with ignore():
    x += 1
    print("Error!")
print(f"After ignore(): {x}")

```

Au début ça marchait pas avec les one-liner `with ignore(): print("...")` car il attendait un event de type `line` et il avait un `opcode`, du coup en ajoutant `f_trace_opcodes = True` je n’ai que des `opcode` en event mais je pense pas que ça marche avec tout…

---

_[View the full topic](https://discuss.afpy.org/t/gestionnaire-de-contexte-qui-ne-sexecute-pas/2839)._
