پرتاب کردن Exception در متد‌های Override شده در جاوا

0 رأی

در آموزش‌ های جاوا کاپ در قسمت Exception Handling، گفته شده که اگر متدی در کلاس پدر استثنایی را پرتاب نکند و همان متد را در کلاس قرزند Override کنیم و سپس آن متد Override شده استثنایی را پرتاب کند، با خطای کامپایل مواجه می‌شویم. به دلیل اینکه رابطه‌ی IS-A را نقض کرده‌ایم. اما به کد زیر توجه کنید:

package com.google;

class Parent {
    void f() {
        System.out.println("Parent");
    }
}
class Child extends Parent {
    @Override
    void f() {
        System.out.println("Child");
        throw new ArithmeticException();
    }
}
public class MainApp {

    public static void main(String[] args) {
        new Child().f();
    }

}

برنامه‌ی بالا با خطای کامپایل مواجه نمیشه؟ علت چیست؟

سوال 1 هفته قبل در تالار کامپیوتر و اینترنت توسط ANONYMOUS (349 امتیاز) 87% درصد پذیرش
ویرایش 1 هفته قبل توسط Saeed Zarinfam

سوال های مشابه

+1 رأی
1 جواب 387 بازدید
0 رأی
0 جواب 12 بازدید
+1 رأی
1 جواب 92 بازدید
0 رأی
1 جواب 159 بازدید
0 رأی
1 جواب 184 بازدید
...