I see no point it catching Page own exception (thrown from the `getAbsoluteUrl` method) to replace it with another Page exception. Please remote whole try/catch block here.