I suspect you put this in here because the docstring says "or raise KeyError". Can you remove the empty exception catching. It's potentially hiding other real problems. 

I think the docstring is sound because that's conforming to how `dict`'s `__delitem__` works. E.g.
```python
>>> d={'a': 'A'}
>>> del d['a']
>>> del d['b']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'b'
```

Perhaps it's outside the remit of this refactoring but what the method should actually do is something like this:
```python
def __delitem__(self, key):
    if key not in self:
        raise KeyError(key)
    execute_no_results(connection, 'DELETE FROM ...')
```