Andrew Zhang wrote:
> Hi everyone,
>
> I have one more question:
>
> Which exception should be thrown whose error code is unused?
>
> Let's consider native throwJavaNetSocketException quoted from nethelp.c:
> void
> throwJavaNetSocketException (JNIEnv * env, I_32 errorNumber)
> {
> jclass aClass;
> char *errorMessage = netLookupErrorString (env, errorNumber);
> aClass = (*env)-FindClass (env, "java/net/SocketException");
> if (0 == aClass)
> {
> return;
> }
> (*env)-ThrowNew (env, aClass, errorMessage);
> }
>
> There are only several error numbers need to be handled in javal classlib.
> For most of them, throw java.net.SocketException is enough.
>
> So shall we throw subclass of SocketException for several special error
> codes or for all error codes? Suggestions?
Just the ones that need it.
> What's the name of subclass of SocketException? Need your suggestions. :)
I never thought it should be a subclass anyway, so I'm not going to
suggest a name <humpf> :-)
<sidebar>ever thought about stuffing the errno into a private/default
vis. variable on SocketException?</sidebar>
Regards,
Tim
> Thanks!
> Best regards,
>
> On 7/19/06, Andrew Zhang <[EMAIL PROTECTED]> wrote:
>>
>> Hi everyone,
>>
>> If no one objects, I'd like to throw subclass of SocketException in
>> native
>> code to fix this problem. Any suggestions, please kindly let me know.
>> Thanks!
>>
>>
>> On 7/18/06, Andrew Zhang <[EMAIL PROTECTED]> wrote:
>> >
>> > Seems most people prefer subclass to SocketException with
>> > ErrorCodeException cause.
>> >
>> > Does anyone prefer the latter? or both are acceptable?
>> >
>> > I think we'd better made an agreement about this issue.
>> >
>> > Mikhail, how do you think about it? Which one do you prefer? :) I'll
>> fix
>> > Harmony-815 once decision is made.
>> >
>> > Thanks!
>> >
>> >
>> > On 7/18/06, Alexey Varlamov < [EMAIL PROTECTED]> wrote:
>> > >
>> > > IMHO, throwing a subclass certainly fits to specification and can
>> > > hardly break compatibility with RI. I consider this is the proper
>> > > workaround for now.
>> > > Just my $0.02 :)
>> > >
>> > > --
>> > > Alexey Varlamov
>> > > >
>> > > > In this case, I guess if we set the cause to null when catching the
>> > > > SocketException will properly solve the problem. However it seems
>> > > > difficult as Throwable.initCause() can be called only once.
>> > > >
>> > > > If throwing a subclass may also break compatibility guideline, I
>> > > still
>> > > > suggest return value, though it may break the current
>> > > > infrastructure(currently, all errors throw exception), it is still
>> > > easy
>> > > > to deal with, only some of operation, read/write, require a little
>> > > > change, and we no longer need "try...catch" in Java code
>> > > >
>> > > > BTW, I find the code shall also deal with InterruptIOException.
>> > >
>> > > ---------------------------------------------------------------------
>> > > Terms of use : http://incubator.apache.org/harmony/mailing.html
>> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > > For additional commands, e-mail:
>> [EMAIL PROTECTED]
>> > >
>> > >
>> >
>> >
>> > --
>> >
>> > Andrew Zhang
>> > China Software Development Lab, IBM
>> >
>>
>>
>>
>> --
>> Andrew Zhang
>> China Software Development Lab, IBM
>>
>
>
>
--
Tim Ellison ([EMAIL PROTECTED])
IBM Java technology centre, UK.
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]