Во-первых, нет необходимости генерировать исключение NullPointerException, а затем перехватывать его тем же методом. То, что вы написали, похоже на обработку logi c с исключениями, что не очень хорошо. Попробуйте написать:
if (result==null){
Utils.getSystemLogger().log("Can't find the maximum");
return 0;
}
return result;
, если 0 - допустимое возвращаемое значение для метода, или иначе не перехватывайте исключение.
Вам не нужно думать заранее и находить все возможные исключения. Если вы еще не знаете возможных исключений, вы также не знаете, как восстановить их, поэтому лучше разрешить их выбрасывание и отладку позже.