Такой IndexOutOfBound можно для конечного пользователя превратить только во что-нибудь типа "500 Internal server error" (со складыванием стек-трейса туда, где его сможет забрать команда поддержки). А вот вышеприведённые примеры с банкоматами говорят в том числе о том, что: 1) не проведена внятная валидация ввода; 2) после чего случившуюся в глубинах ошибку ещё и не привели во внятный вид. Как минимум два повода надавать по шее тем программистам.
no subject