Чего я не понимаю, так это использовать printStackTrace ошибки в разделе catch.
Кроме того, потребуется определенная сноровка в раскрое.