[ http://issues.apache.org/jira/browse/LUCENENET-8?page=comments#action_12442687 ] Joe Shaw commented on LUCENENET-8: ----------------------------------
As pointed out later in the linked thread, LUCENE-388 is *not* the same issue as this one. And that issue still exists in the Java version as well (where throwing exceptions for normal flow is also very bad) > 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 > Issue Type: Task > Environment: Windows XP, Visual Studio 2003 > Reporter: Jo Inge Arnes > Assigned To: George Aroush > Attachments: test.patch > > > 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
