why is it that the overriden finalize method doesnt generate an error? the original finalize method from java.lang.Object declares that it throws a Throwable.
You can also relax the specification by throwing a subset of those exceptions listed in the method's superclass or not throwing any exceptions at all in the overriding method of the subclass. You can not add new checked exception types to the overriding method.