¿Se puede llamar a finalize después de que un constructor lanza una excepción?

¿Hay algún detalle sobre si un objeto se limpia con o sinfinalize() Si el constructor de ese objeto es una excepción.

Cuando se llama a este método es notoriamente mal definido. Según el manual:

El lenguaje de programación Java no garantiza qué subproceso invocará el método de finalización para cualquier objeto dado. Sin embargo, se garantiza que el subproceso que invoca finalize no mantendrá ningún bloqueo de sincronización visible cuando se invoque finalize. Si el método finalize lanza una excepción no detectada, la excepción se ignora y la finalización de ese objeto termina.

http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#finalize%28%29

No he podido activar el método de finalización de esta manera. ¿Alguien sabe si se ha pedido que NO se llame o si en algunos casos se llama después de que el constructor no pudo inicializar el objeto (por ejemplo, una excepción).

Lo pregunto porque tengo un objeto que no se debe limpiar dos veces. Estoy tratando de entender si es seguro limpiar antes de lanzar la excepción o si debo dejar un marcador parafinalize() Saltar efectivamente y no hacer nada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta