i think it can :
int charsRead = input.Read(buffer, newPosition, buffer.Length -
newPosition);
if (charsRead > 0)
bufferLength += charsRead;
2006/7/1, Jo Inge Arnes (JIRA) <[EMAIL PROTECTED]>:
Throwing an exception as a result of a normal situation is extremely bad
in .net
--------------------------------------------------------------------------------
Key: LUCENENET-8
URL: http://issues.apache.org/jira/browse/LUCENENET-8
Project: Lucene.Net
Type: Task
Environment: Windows XP, Visual Studio 2003
Reporter: Jo Inge Arnes
At the end of the FastCharStream.Refill() method, it says:
int charsRead = input.Read(buffer, newPosition, buffer.Length -
newPosition);
if (charsRead <= 0)
throw new System.IO.IOException("read past eof");
else
bufferLength += charsRead;
When I run Lucene in the debugger, this causes an exception to be thrown
all the time.
To me it looks like it is thrown as a result of a normal situation, not
because of some critical error.
Is this correct?
If this is the case, then the code is horrible. Throwing an exception in
.NET is extremely slow, and should never be thrown as a result of a normal
situation. I repeat: "extremely slow"
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira