Вывод вроде корректный, кроме как когда передаю null( не пойму как сделать что бы и с ним работало, а то выбивает NullPointerException до того захода в блок try)