That's absolutely acceptable and encouraged to raise an error when an error case happens, I recommend that the error is descriptive and appropriate though. Here it would have been an `AttributeError` which would actually crash the entire process since it is not an `IonException` and the message would have simply been `lat`. 
You could try:
```python
lat = self.CFG.get_safe('lat',None)
if lat is None: raise BadRequest('latitude is required to compute...')
```