Как бросить ArrayIndexOutOfBoundsException? - PullRequest
2 голосов
/ 29 марта 2012

У меня есть метод, который проверяет пятна в двумерном массиве, а также проверяет, являются ли они нулевыми.Я хочу выбросить ArrayIndexOutOfBoundsException, потому что я уже проверяю на ноль.

Я попытался добавить throws ArrayIndexOutOfBoundsException после объявления метода, но он не работает.Как мне это сделать?

Ответы [ 5 ]

8 голосов
/ 29 марта 2012

throws в определении метода говорит, что метод может вызвать это исключение. Чтобы на самом деле бросить его в тело метода, используйте throw new ArrayIndexOutOfBoundsException();

3 голосов
/ 29 марта 2012

Попробуйте это:

throw new ArrayIndexOutOfBoundsException("this is my exception for the condition");
1 голос
/ 29 марта 2012

Если вы просто перечислите функцию как способную генерировать исключение, но никогда не вызовете исключение в функции, исключение не будет сгенерировано.

Если вы сгенерируете исключение, но не перечислите функцию как возможность сгенерировать исключение, вы можете получить ошибку компилятора или предупреждение о необработанном исключении.

Вам нужно перечислить вашу функцию как генерирующую ArrayIndexOutOfBoundsException и выбросить исключение где-нибудь в вашей функции.

Например:

public ... myArrayFunction(...) throws ArrayIndexOutOfBoundsException {
    .... // handle the array
    if (some condition) {
       throw new ArrayIndexOutOfBoundsException("Array Index Out of Bounds");
    }
}
0 голосов
/ 29 марта 2012

После объявления вашего метода напишите:

private returnType methodName(CommunicationObject requestObject)
            throws ArrayIndexOutOfBoundException {
}
0 голосов
/ 29 марта 2012

По сути, ключевое слово throws говорит нам, что метод может вызвать исключение. Если вы хотите создать исключение любого типа, вам нужно вызвать конструктор этого типа.

throw new NullPointerException("Null Pointer Exception");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...