[ 
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]

Reply via email to