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