Рубрики

Java | Обработка исключений | Вопрос 4

class Base extends Exception {}

class Derived extends Base  {}

  

public class Main {

  public static void main(String args[]) {

   // некоторые другие вещи

   try {

       // Некоторый отслеживаемый код

       throw new Derived();

    }

    catch(Base b)     { 

       System.out.println("Caught base class exception"); 

    }

    catch(Derived d)  { 

       System.out.println("Caught derived class exception"); 

    }

  }

(A) Поймано исключение базового класса
(B) Поймано производное исключение класса
(C) Ошибка компилятора, потому что производная не может быть выброшена
(D) Ошибка компилятора, потому что исключение базового класса перехватывается перед производным классом

Ответ: (D)
Объяснение: См. Catching base и производные классы как исключения.

Ниже приведена ошибка в приведенной ниже программе

Main.java:12: error: exception Derived has already been caught
    catch(Derived d)  { System.out.println("Caught derived class exception"); } 

Тест на этот вопрос

Рекомендуемые посты:

Java | Обработка исключений | Вопрос 4

0.00 (0%) 0 votes