Переполнение - полная противоположность переполнению.
int high = Integer.MAX_VALUE;
int overflow = high + 1;
int low = Integer.MIN_VALUE;
int underflow = low - 1;
И вы справляетесь с этим так же: вы убедитесь, что входные данные не окажутся в диапазоне переполнения / переполнения, и сделаете пользователязнать о потенциальных недостатках.(Например, Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE
.)