I think for the sake of readability you should consider raising exceptions and adding a decorator that catches them + returns the appropriate response.

For example:
```python
import functools

class HTTPError(Exception):

    def __init__(self, message, status_code):
        super(HTTPError, self).__init__(message)
        self.message = message
        self.status_code = status_code

def catch_exceptions(func):
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        try:
            return wrapper(*args, **kwargs)
        except HTTPError as e:
            return e.message, e.status_code
    return wrapper

# somewhere in your resource class
@catch_exceptions
def your_endpoint(blah):
    if True:
        raise HTTPError('something went horribly wrong', 500)
    else:
        return {'status': 'all good'}
```