Как обрабатывать предложение throws в обработке исключений Java? - PullRequest
0 голосов
/ 04 сентября 2010

У меня есть класс A, в котором у меня есть метод openfileConnec (). Это было написано как ниже:

public void openfileConnec() throws Exception {
    //code for opening a file
}

Теперь я прихожу в класс B, где я буду вызывать этот метод, как показано ниже:

class B {
    try {
        openfileConnect()
    }
    catch(Exception e) {
    }
}

В интервью мне задали вопрос:

  1. Почему у метода есть исключение throws в его объявлении? Это то, что один из методов, вызываемых в реализации, генерирует исключение базового класса?
  2. Также, если мы получим исключение во время вызова метода (fileConnect ()), элемент управления переходит к блоку catch. После выполнения catch, куда должен отправляться элемент управления, что следует отправить в базовый вариант?

Может ли кто-нибудь помочь мне разобраться с этой проблемой? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 04 сентября 2010

В одном из интервью мне задали вопрос: почему у метода есть исключение throws в его объявлении?

, потому что он хочет сообщить вызывающему методу, что что-то не так, ивызывающий метод должен решить, что делать с этой проблемой (Исключение).

Это из-за того, что один из методов, вызываемых в реализации, вызывает исключение базового класса?также верно, но метод может решить бросить новое Исключение непосредственно.потому что он хочет, чтобы вызывающая сторона решала проблему, а не сама.

После выполнения catch, куда должен идти элемент управления, что следует отправлять в базовый вариант?

upвызвать то, как он хочет справиться с ошибкой.(например, показать сообщение об ошибке и проинформировать пользователя или выполнить другое действие) до вызывающего.

0 голосов
/ 04 сентября 2010

Метод openfileConnec () имеет объявление throws, так как при открытии файлов может генерироваться исключение IOException (если файл не существует или, например, недоступен для чтения).

Если это исключение не управляется в методе, метод должен объявить, что исключение выдается.

...