Вызов метода, который выбрасывает FileNotFoundException - PullRequest
0 голосов
/ 27 сентября 2011

Я уверен, что это легко, но я не мог найти прямой ответ.Как мне вызвать метод с throws FileNotFoundException?

Вот мой метод:

private static void fallingBlocks() throws FileNotFoundException

Ответы [ 6 ]

7 голосов
/ 27 сентября 2011

Вы вызываете его и либо объявляете, что ваш метод тоже его выбрасывает, либо перехватываете:

public void foo() throws FileNotFoundException // Or e.g. throws IOException
{
    // Do stuff
    fallingBlocks();
}

Или:

public void foo()
{
    // Do stuff
    try
    {
        fallingBlocks();
    }
    catch (FileNotFoundException e)
    {
        // Handle the exception
    }
}

См. раздел 11.2 Спецификации языка Java или Учебник Java по исключениям для получения дополнительной информации.

3 голосов
/ 27 сентября 2011

Вы просто catch Исключение или отбросьте его.Читайте о исключениях .

3 голосов
/ 27 сентября 2011

Вы просто вызываете его так же, как и любой другой метод, и убедитесь, что либо

  1. перехватываете и обрабатываете FileNotFoundException в вызывающем методе;
  2. убедитесь, чтовызывающий метод имеет FileNotFoundException или его суперкласс в своем списке throws.
2 голосов
/ 27 сентября 2011

Вы называете это как любой другой метод тоже. Однако метод может потерпеть неудачу. В этом случае метод выдает исключение. Это исключение должно быть перехвачено оператором try-catch, поскольку он прерывает выполнение вашей программы.

2 голосов
/ 27 сентября 2011

Разве это не похоже на вызов обычного метода. Единственное отличие состоит в том, что вы должны обработать исключение, заключив его в try..catch или выбрав то же исключение из метода вызывающего.

try {
    // --- some logic
    fallingBlocks();
    // --- some other logic
} catch (FileNotFoundException e) {
    // --- exception handling
}

или

public void myMethod() throws FileNotFoundException {
    // --- some logic
    fallingBlocks();
    // --- some other logic
}
2 голосов
/ 27 сентября 2011

Не уверен, получу ли я ваш вопрос, просто вызовите метод:

try {
    fallingBlocks();
} catch (FileNotFoundException e) {
    /* handle */
}
...