+1 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

مگر عبارت try در جاوا نمی تواند چندین catch داشته باشد؟ پس چرا کد زیر خطای "exception NoRouteToHostException has already been caught" می دهد؟

        try {

        } catch (Exception e) {
            
        } catch (NoRouteToHostException hostException) {
        }

1 پاسخ

+3 امتیاز
قبل توسط (1.1هزار امتیاز)
 
بهترین پاسخ

عبارت try catch در جاوا می تواند چند catch داشته باشد به شرطی که exception هایی که در catch های آخر قرار می گیرند فرزند exception های بالاتر نباشند، در مورد فوق چون NoRouteToHostException در زیرمجموعه وراثت کلاس Exception قرار دارد این خطا رخ می دهد. کد صحیح بصورت زیر است:

        try {

        } catch (NoRouteToHostException hostException) {
            
        } catch (Exception e) {
            
        }

سوالات مشابه

0 امتیاز
1 پاسخ 523 بازدید
0 امتیاز
1 پاسخ 625 بازدید
0 امتیاز
1 پاسخ 1.9هزار بازدید
+1 امتیاز
1 پاسخ 1.0هزار بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط kashi (7.2هزار امتیاز)
+2 امتیاز
2 پاسخ 618 بازدید
+1 امتیاز
1 پاسخ 448 بازدید
+1 امتیاز
1 پاسخ 562 بازدید
+1 امتیاز
1 پاسخ 802 بازدید
0 امتیاز
0 پاسخ 410 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط java (0 امتیاز)
...