انواع مختلفی از مدیریت خطا و منابع را پیادهسازی کنید.
یکی از نکات مهم در برنامهنویسی این است که چگونه خطاها را مدیریت کنیم و منابع را حتی وقتی خطا رخ میدهد ببندیم.
این تمرین از شما میخواهد که خطاهای مختلفی را مدیریت کنید. از آنجا که مدیریت خطا تا حد زیادی به زبان برنامهنویسی بستگی دارد، باید به تستهای مربوط به track خود مراجعه کنید تا ببینید دقیقاً چه چیزی لازم است.
برای تابع filelike_objects_are_closed_on_exception، filelike_object نمونهای از یک کلاس سفارشی FileLike است که در مجموعهی تست تعریف شده است. این کلاس متدهای زیر را پیادهسازی میکند:
open و close، برای باز کردن و بستن صریح.__enter__ و __exit__، برای باز کردن و بستن ضمنی.do_something که ممکن است یک Exception پرتاب کند یا نکند.