Почему исключение не отображается?
Видимо контекстный менеджер, находящийся в statement, проглатывает исключения. Точнее ничего сказать по текущей постановке вопроса нельзя.
В общем решил проблему осознав что исключения внутри блока передаются в волшебный метод __exit__, прим. def __exit__(self, exc_type, exc_value, exc_traceback): где потом можно либо обработать исключение, либо передать выше.