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

0 رأی
میانگین بازدید روزانه 0.21132 بازدید

در آموزش‌ های جاوا کاپ در قسمت 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 سال قبل در تالار برنامه نویسی توسط Sina Deuxshiri (455 امتیاز)
ویرایش 1 سال قبل توسط Saeed Zarinfam
https://stackoverflow.com/questions/2190161/difference-between-java-lang-runtimeexception-and-java-lang-exception

1 جواب

+1 رأی

سلام

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

public class ArithmeticException extends RuntimeException {
{

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

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

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

موفق باشید

جواب 1 هفته قبل توسط Saeed Mirshams (80 امتیاز)

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

0 رأی
1 جواب میانگین بازدید روزانه 0.1593 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.37617 بازدید
+3 رأی
1 جواب میانگین بازدید روزانه 0.42819 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.1382 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.28213 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.5289 بازدید
سوال 1 سال قبل در تالار برنامه نویسی توسط ali-nb (10 امتیاز)
+1 رأی
1 جواب میانگین بازدید روزانه 0.27259 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 2.1824 بازدید
سوال 1 هفته قبل در تالار برنامه نویسی توسط 1993 (22 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.3377 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.12234 بازدید
کانال تلگرام جواب یاب
...