George Harley wrote:
Mark Hindess wrote:
As you might have noticed, if you are reading the JIRA messages on the
commits list, I've been looking at the error case behaviour of
constructors. (In fact, I've written a Perl script to generate a
program to creates several thousand test cases from the constructor
specification in a japi file. I'll probably extend it to test other
static methods when I have a spare minute.)
I'm wondering how far we should try to match the behaviour of the
reference implementation. For instance, I've been submitting fixes
for a number of cases of incorrect exceptions being thrown and I think
they are worth fixing, but then I came across this one:
j.io.RandomAccessFile((j.l.String)null,""): # i.e. null filename,
empty mode
the RI throws j.l.IllegalArgumentException because it checks the mode
first but we throw a NullPointerException because we check the file
first.
Does it matter? Should we be matching behaviour?
Wasn't this the topic for a fairly recent discussion on the list ? If I
can recall correctly, the consensus seemed to be YES it matters and YES
we should be matching behaviour.
Yes - if the spec doesn't say anything, and the RI isn't obviously
broken or stupid, then follow the RI.
If the spec does say something, we need to make a decision - follow the
spec or follow the RI (and log it...)
geir
And if that wasn't the consensus then it should have been ;-)
Best regards,
George
Regards,
Mark.
--
Mark Hindess <[EMAIL PROTECTED]>
IBM Java Technology Centre, UK.