what about moving this in the try catch : 

```
try {
    $geoname = $country = $this->geonamesConnector->geoname($user->getGeonameId());
    $user->setGeonameId($geonameid);
    $country = $geoname->get('country');
} catch () {

}
```

This would prevent to set an invalid geonameid