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

+1 رأی
میانگین بازدید روزانه 0.23173 بازدید

در آموزش‌ های جاوا کاپ در قسمت 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();
    }

}

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

سوال 2 سال قبل در تالار برنامه نویسی توسط ssss (462 امتیاز)
ویرایش 2 سال قبل توسط Saeed Zarinfam
https://stackoverflow.com/questions/2190161/difference-between-java-lang-runtimeexception-and-java-lang-exception

1 جواب

+2 رأی
 
بهترین جواب

سلام

لطفا به تعریف ArithmeticException توجه کنید:

public class ArithmeticException extends RuntimeException {
{

این استثنا از نوع استثنا های زمان اجرا هست.

اینکه در تعریف متدها احتمال وقوع اون اعلام نمیشه درست هست. و در زمان کامپایل خطا نمی گیریم.

اما برای خطاهای غیر runtime باید توی اعلان متد این موضوع بیاد

موفق باشید

جواب 4 ماه قبل توسط Saeed Mirshams (146 امتیاز)
انتخاب شده در 2 ماه قبل توسط ssss

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

0 رأی
1 جواب میانگین بازدید روزانه 0.14103 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.38667 بازدید
+3 رأی
1 جواب میانگین بازدید روزانه 0.44901 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.14105 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.27238 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.48337 بازدید
سوال 1 سال قبل در تالار برنامه نویسی توسط ali-nb (10 امتیاز)
+1 رأی
1 جواب میانگین بازدید روزانه 0.28306 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.341 بازدید
سوال 4 ماه قبل در تالار برنامه نویسی توسط 1993 (41 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.31421 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.12247 بازدید
کانال تلگرام جواب یاب
...