Выражение if(array.length == 0);
проверяет, равна ли длина нулю, но ничего не делает. Возможно, вы хотели написать:
try {
if (array == null) {
throw new NullPointerException("the array is null");
}
if (array.length == 0) {
throw new ArrayIndexOutOfBoundsException("the array is empty");
}
// process the content of the array here
}
catch (Exception e) {
System.out.println("Cannot process the array because:");
e.printStackTrace();
}
Это также охватывало бы другие исключения, которые могут возникнуть при обработке содержимого.
Однако NullPointerException
будет сгенерировано автоматически, как только вы попытаетесь получить доступ к содержимому массива, в вашем случае это будет вызов array.length
.
Также ArrayIndexOutOfBoundsException
будет сгенерирован автоматически, если вы попытаетесь получить доступ к индексу массива, который не существует. Но если массив пуст, то никакой ошибки не произойдет, потому что ваш for-l oop не будет выполнен. i=0
уже больше, чем arrayToSort.length-1
, до запуска l oop.