I disagree. This is consistent with:

```
ZEND_API zval * zend_throw_exception(zend_class_entry *exception_ce, char *message, long code TSRMLS_DC)
```

You're always throwing an exception. The connection, code, and message are all context for that exception.