metaclass: (дзедline)
metaclass ([personal profile] metaclass) wrote2013-03-21 11:25 am
Entry tags:

java try parse integer

А почему в java нету готовых методов, которые бы позволяли парсить числа, не кидая исключений?
Т.е. возвращали бы true+число, либо false, типа как int.TryParse в дотнете.

[identity profile] vp.livejournal.com 2013-03-22 08:14 am (UTC)(link)
А кто говорил о каких-то дефолтных значениях?
Если все не ок, то возвращается кортеж из булена об ошибке и кода ошибки. Если все ок, то возвращается тупл с буленом и с полученным значением.

[identity profile] sergiej.livejournal.com 2013-03-23 05:39 pm (UTC)(link)
Никак не оправдано. В данном случае надо проверить, правильный ли номер, а не парсить, поэтому надо использовать NumberFormat в месте возникновения сомнительного стринга-интежера.
Про сами эксепшны вопрос, скорее, академический. Вот пример, у вас пользователь вводит логин и пароль. Факт ввода неправильного пароля это эксепшн?
К вашему коду претензия другого плана. Что толку от вашего возвращения некого дефолта? Вам в месте вызова этой функции надо проставлять этот дефолт, обрабатывать потом результат, не пришёл ли дефолт. Не говоря о том, что в таком случае парсинг самого дефолта невозможен. Всё это в совокупности - индусятина. Лучше уж сразу в месте вызова ловить эксепшн и обрабатывать.

Page 5 of 5