Surrounds db wrapper in a try/catch block

If `PDO::ERRMODE_EXCEPTION` is used, then the `execute()` function would throw an exception and we'd never run `$this->errors()`;

By surrounding `execute()` in a try/catch, we ensure that we always check the results using `errors()` on all PDO error level (silent, warnings, and exceptions).

**Note:**

This should be put on presto and presto 1.1: if this gets approved then I can re-create the pull request for the 1.1 branch.