[
http://issues.apache.org/jira/browse/LUCENE-129?page=comments#action_12357858 ]
Esmond Pitt commented on LUCENE-129:
------------------------------------
Apparently I haven't made myself clear. It is essential that any finalizer
calls super.finalize() regardless of any exceptions it may encounter. The
canonical form shown is one way of achieving this: another is finally {
super.finalize(); }. The finalizers in the classes named do not conform to
either pattern and hence whatever their base classes finalizers may do is not
necessarily being done.
> Finalizers are non-canonical
> ----------------------------
>
> Key: LUCENE-129
> URL: http://issues.apache.org/jira/browse/LUCENE-129
> Project: Lucene - Java
> Type: Bug
> Components: Other
> Versions: unspecified
> Environment: Operating System: other
> Platform: All
> Reporter: Esmond Pitt
> Assignee: Lucene Developers
> Priority: Minor
>
> The canonical form of a Java finalizer is:
> protected void finalize() throws Throwable()
> {
> try
> {
> // ... local code to finalize this class
> }
> catch (Throwable t)
> {
> }
> super.finalize(); // finalize base class.
> }
> The finalizers in IndexReader, IndexWriter, and FSDirectory don't conform.
> This
> is probably minor or null in effect, but the principle is important.
> As a matter of fact FSDirectory.finaliz() is entirely redundant and could be
> removed, as it doesn't do anything that RandomAccessFile.finalize would do
> automatically.
--
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
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]