برای آشنایی با قالب صورت سوال در Quera اینجا را مشاهده کنید و برای آشنایی با نحوه‌ی کار با ورودی و خروجی استاندارد (stdin و stdout) در زبان‌های مختلف، اینجا را ببینید.

در مورد سوالات پروژه‌ای می‌توانید انتخاب کنید که کدتان را به یکی از زبان‌های پایتون یا جاوا بزنید و در سوال مربوطه می‌توانید راه‌حلتان را ارسال کنید.

پروژه‌ای - چیراکسی؟ - جاوا


در این سوال برای ساده‌تر کردن مدیریت خطاها و مرتب کردن استثناها می‌خواهیم تمام خطاهایی که رخ می‌دهد را با یک قرارداد واحد در کلاسی به نام 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]
Plain text

آنچه باید آپلود کنید:🔗

یک فایل zip که وقتی آن را باز می‌کنیم، فقط فایل Solution.java را ببینیم.

ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.