А может ли *ваш* язык программирования так:
```
#define QUERY_EXEC(q) \
do { \
if (!q.exec()) { \
QString error = QString("%1\n%2\n%3:%4").arg(q.lastError().text()).arg(q.lastQuery()).arg(__FILE__).arg(__LINE__); \
QMessageBox::critical(0,"ошибка",error); \
} \
} while (0)
```