Лучший способ справиться с if-else с помощью try-catch - PullRequest
0 голосов
/ 05 мая 2020

Это предварительная версия кода


Object one = doSomeFetching();

if (one != null) {
    try {
        Object two = doSomeOperationXYZ(one);
        return two;
    } catch (ExceptionXYZ e) {
        throw e;
    }
} else {
    throw new ObjectIsNotPresentCustomerException(....);
}

, если объект one не является нулевым, тогда только I go функции внутри пытается сделать что-то и вернуть если все пойдет хорошо, или выбросить исключение. Если one имеет значение null, я просто возвращаю исключение.

Мне кажется, что структура кода не очень хороша. Можете ли вы предложить лучший способ обработки таких случаев

1 Ответ

4 голосов
/ 05 мая 2020

Вы можете отменить проверку, чтобы исключить else и сначала выбросить исключение как

Object one = doSomeFetching();

if (null == one) {
    throw new ObjectIsNotPresentCustomerException(....);
}
try {
    Object two = doSomeOperationXYZ(one);
    return two;
} catch (ExceptionXYZ e) {
    throw e;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...