Hi,
I dont think you catch the SQL error in the sense that PutSQL wont report the error. However you can use the PutDatabaseRecrod instead and use the failure relationship to LogMessage where you can access the error message using the "putdatabaserecord.error" attribute.
A better way of capturing errors from any processor (Global Catch) is to use the SiteToSiteBulletinReportingTask as explained here:
SiteToSiteBulletinReportingTask
If that helps please accept solution.
Thanks