در این سوال برای سادهتر کردن مدیریت خطاها و مرتب کردن استثناها میخواهیم تمام خطاهایی که رخ میدهد را با یک قرارداد واحد در کلاسی به نام ExceptionProxy
ذخیره کنیم.
ExceptionProxy
🔗برای این کار به ازای هر خطایی که رخ میدهد یک شی از کلاس ExceptionProxy
میسازیم که دارای دو خصوصیت است.
این خصوصیات عبارتند از (e
یک شی از کلاس ExceptionProxy
است):
e.msg
e.function
transform_exceptions
🔗از شما میخواهیم تابعی به نام transform_exceptions()
بنویسید که یک لیست از توابع ورودی میگیرد.
سپس هر کدام از توابع را صدا میکند (توابع بدون آرگومان هستند) و استثناهایی که رخ میدهد را با قرار داد بالا به شیای از ExceptionProxy
تبدیل کرده و در نهایت لیست خطاهای تبدیل شده را به همان ترتیب توابع برمیگرداند. دقت کنید که اگر تابعای بدون خطا اجرا شد باید یک شی ExceptionProxy
ساخته و مقدار msg
آن را با "ok!"
مقداردهی کنید.
خروجی کد بالا باید به شکل زیر باشد.
شما باید کلاس ExceptionProxy
و تابع transform_exceptions
موجود در فایل solution.py
را تکمیل و سپس این فایل را ارسال کنید.