java try parse integer
Mar. 21st, 2013 11:25 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
А почему в java нету готовых методов, которые бы позволяли парсить числа, не кидая исключений?
Т.е. возвращали бы true+число, либо false, типа как int.TryParse в дотнете.
Т.е. возвращали бы true+число, либо false, типа как int.TryParse в дотнете.
no subject
Date: 2013-03-21 09:39 am (UTC)Можно возвращать Object[] - но это совсем уж извращение.
Чем так сильно отличает возвращение статуса от кидания исключения?
no subject
Date: 2013-03-21 09:47 am (UTC)no subject
Date: 2013-03-21 09:53 am (UTC)В исходном посте в C# - tryParse - попробовать распарсить. в Java - parseInt() - требует распарсить. Вполне логично по-моему.
no subject
Date: 2013-03-21 09:57 am (UTC)no subject
Date: 2013-03-21 10:23 am (UTC)Опять же, что плохого в исключениях?
no subject
Date: 2013-03-21 10:24 am (UTC)no subject
Date: 2013-03-21 10:26 am (UTC)no subject
Date: 2013-03-21 10:30 am (UTC)no subject
Date: 2013-03-21 10:36 am (UTC)Чем принципиально это отличается от IOException?
no subject
Date: 2013-03-21 10:38 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2013-03-21 10:30 am (UTC)Если работу можно продолжать - исключение кидать не принято.
Исключения - для случаев, когда надо свалится в корень исполняемого потока (main loop или там обработчик выдающий 500 в веб-сервисе).
Делать логику на исключениях - очень нехорошо, но конкретно в данном случае жаба вынуждает это делать.
no subject
Date: 2013-03-21 10:54 am (UTC)Исключение кидаются когда произошло нечто неожиданное с точки зрения разработчика.
parseInt() ожидает увидеть число. А получило. - вполне неожиданное событие.
Ожидали прочитать из файла, а он закончился - тоже.
Но и то, и другое можно сделать на статусах, как C.
no subject
Date: 2013-03-21 10:29 am (UTC)no subject
Date: 2013-03-21 10:38 am (UTC)Но вот с числами.. можно конечно сделать Integer Integer.parseInt() и возвращать null если не удалось распарсить.
no subject
Date: 2013-03-21 11:36 am (UTC)no subject
Date: 2013-03-21 11:39 am (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2013-03-21 10:49 am (UTC)Неумение языка возвращать tuple тоже зло.
no subject
Date: 2013-03-21 10:50 am (UTC)no subject
Date: 2013-03-21 12:05 pm (UTC)no subject
Date: 2013-03-21 12:06 pm (UTC)Сферически - идеальные языки, с кортежами на выходе и т.п. Ням-ням.
no subject
Date: 2013-03-21 12:07 pm (UTC)в ратомкена испанском побережье- это мысль.no subject
Date: 2013-03-21 12:12 pm (UTC)no subject
Date: 2013-03-22 07:54 am (UTC)Берет юзверь вашу прогу, вводит какую-нибудь шнягу, верную с его точки зрения (можно я не буду придумывать варианты?) А потом несколько дней ебется в поисках решения, хули получается совершенно другое значение на выходе?
no subject
Date: 2013-03-22 08:14 am (UTC)Если все не ок, то возвращается кортеж из булена об ошибке и кода ошибки. Если все ок, то возвращается тупл с буленом и с полученным значением.
no subject
Date: 2013-03-21 04:36 pm (UTC)