It will also avoid a leak if init() throws an exception.