Strange Exception at read

Alan Bateman Alan.Bateman at Sun.COM
Sat Nov 14 06:54:09 PST 2009


向雅 wrote:
> :
> Java_sun_nio_ch_WindowsAsynchronousSocketChannelImpl_read0 use the
> method directly:
> JNU_ThrowIOExceptionWithLastError, which use JVM_GetLastErrorString.
> The later be there very long time:) and it discard the error code.:)
> But be happy we not encount so much those kind error:)
>   
I don't see a problem here - on Windows an error can occur when 
initiating the I/O operation or the I/O operation can complete with an 
error. The code you are looking at is where the I/O operation is 
initiated. If that fails then the error is translated into the 
appropriate system message and this is used as the detail message in the 
IOException notified to the completion handler. You need to look in 
Iocp.java to see the code that handles the completion of I/O operations. 
There you will see that it also attempts to translate errors into the 
appropriate system message. For your firewall issue it is working 
exactly as it should in that it translate the error 5 into "Access denied".

-Alan.


More information about the nio-dev mailing list