On Mon, 12 Sep 2011 23:10:29 +0100, Vladimir Panteleev
<[email protected]> wrote:
On Mon, 12 Sep 2011 20:55:42 +0300, David Nadlinger <[email protected]>
wrote:
As discussed on IRC, throwing on reverse lookup failure seems very
wrong to me, as it is certainly expected. In my opinion, the best
solution would be to return null (empty string), but I am not certain
if it should still throw if something went wrong during lookup (besides
the IP address not being found).
I'm thinking of making all of
Address.to(Addr|HostName|Port|Service)String return null on failure for
consistency. Sounds good?
This is one of those things I haven't managed to come to a definite
opinion on myself. In some of these cases you'll be returning null for
incorrect input (essentially) which is something you could argue warrants
an exception, or does it warrant an assertion? The line, to me, between
where to use assert and when to throw often blurs. I guess at the end of
the day you should throw in cases where the arguments may have been 'user'
input.. but that seems to me, to be all the time, because you cannot be
certain. So, that leaves us using assert only for 'internal' functions,
where we know the arguments are not user input, or should have been
sanitized already by our own code.
--
Using Opera's revolutionary email client: http://www.opera.com/mail/