Реализовать контекстный менеджер для работы с файлом

27. Реализовать контекстный менеджер для работы с файлом

Условие задачи Реализовать класс FileManager, который работает как контекстный менеджер для открытия файла. Класс должен поддерживать использование через конструкцию with. При входе в контекст должен открываться файл с переданными параметрами, а при выходе из контекста файл должен корректно закрываться.

class FileManager:
    def __enter__(self):
        pass

    def __exit__(self, exc_type, exc_val, exc_tb):
        pass


with FileManager('example.txt', 'w') as f:
    f.write('Hello, World!')

Дополнительно Какие могут быть ошибки при закрытии файла?