@n199a
Java

Как правильно: проверить на null через if либо выбросить исключение в try-catch в Java?

Имеется метод create для создания экземпляра класса CustomArray, который в качестве аргумента принимает массив примитивов типа int.
Создан также собственный класс исключений ArrayException.
Одни из условий для метода должны выступать:
-проверка аргумента метода на null;
- проверка аргумента метода на нулевой размер.

С точки зрения правильности реализации проверки на null аргумента метода как правильно реализовать метод, проверкой аргумента на null через условие if либо выбросить исключение в конструкции try-catch?

Сам метод:
public CustomArray create(int[] numbers) throws ArrayException {
}


Вариант с использованием if:
public CustomArray create(int[] numbers) throws ArrayException {
        if(numbers.length == 0) {
            throw new ArrayException("Array is empty!");
        } else if (numbers == null) {
            throw new ArrayException("An empty argument passed!");
        }
    }


Пример с try-catch:
public CustomArray create(int[] numbers) throws ArrayException {
        CustomArray customArray;

        try {
            customArray = new CustomArray(numbers);
        } catch (NullPointerException ex) {
            throw new ArrayException("Null pointer!");
        } 
        
        return customArray;
    }
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Исключения не нужны.
public Optional<CustomArray> create(int[] numbers) {
    return Optional.ofNullable(numbers)
        .filter(a -> a.length > 0)
        .map(CustomArray::new);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Emphasoft Санкт-Петербург
от 150 000 до 300 000 ₽
Kotelov Санкт-Петербург
от 150 000 до 190 000 ₽
SCHNEIDER GROUP Санкт-Петербург
от 160 000 до 190 000 ₽