در این سوال برای سادهتر کردن مدیریت خطاها و مرتب کردن استثناها میخواهیم تمام خطاهایی که رخ میدهد
را با یک قرارداد واحد در کلاسی به نام ExceptionProxy ذخیره کنیم.
برای این کار به ازای هر خطایی که رخ میدهد یک شی از کلاس ExceptionProxy میسازیم که دارای دو
خصوصیت است.
این خصوصیات عبارتند از ( e یک شی از کلاس ExceptionProxy است):
- متن استثنای رخ داده. (تبدیلشده استثنا به رشته):
e.msg - تابعی که باعث ایجاد استثنا شده:
e.function
فایل Solution.java را دانلود کرده و محتوای آن را ببینید.
از شما میخواهیم متد transformException() را پیادهسازی کنید. این متد یک لیست از توابع ورودی میگیرد. سپس هر کدام از توابع را صدا میکند (توابع بدون آرگومان هستند) و استثناهایی که رخ میدهد را با قرارداد بالا
به شیای از ExceptionProxy تبدیل کرده و در نهایت لیست خطاهای تبدیلشده را به همان ترتیب توابع
بر میگرداند. دقت کنید که اگر تابعی بدون خطا اجرا شد باید یک شی ExceptionProxy ساخته و مقدار msg آن را با "OK!"مقداردهی کنید.
مثال
با اجرای متد main در کلاس Solution خروجی زیر باید در کنسول چاپ شود:
msg: / by zero
function: Devide[1/0]
msg: OK!
function: Devide[1/1]
آنچه باید آپلود کنید:
یک فایل zip که وقتی آن را باز میکنیم، فقط فایل Solution.java را ببینیم.
ارسال پاسخ برای این سؤال