On Feb 1, 2007, at 3:39 PM, Christian Thalinger wrote:
Hi!
I found a problem in gnu_java_nio_VMChannel.c. It's about
NonReadableChannelException and NonWriteableChannelException. These
exceptions do not have a initializer with String as parameter:
java.lang.NoSuchMethodError:
java.nio.channels.NonReadableChannelException.<init>(Ljava/lang/
String;)V
at gnu.java.nio.VMChannel.read(Native Method)
at gnu.java.nio.VMChannel.read(VMChannel.java:159)
But the C code assumes this, like:
JCL_ThrowException (env, NON_READABLE_CHANNEL_EXCEPTION, strerror
(errno));
I don't know exactly how to fix this "properly".
The C code should just throw a new exception without trying to pass
in a message string. This would mean no longer using
JCL_ThrowException, and doing a NewObject/ThrowException manually,
but whatever.
We could introduce a JCL function that throws an exception with no
message string.