First, you need to wrap the SQL in a try ... catch block (see here). This gives you control over what happens when the SQL throws an error and allows you to see the Error Message (see here).
In order for you to be able to display the error in SSRS, you have to still return a SELECT statement with the same columns you would have normally. This is because SSRS needs to know the column names ahead of time. So add a column to your original dataset like so:
SELECT Col1, Col2, ... , NULL as ERROR_MESSAGE
And then add this in your catch block:
SELECT NULL AS Col1, NULL as Col2, ... , ERROR_MESSAGE() as ERROR_MESSAGE
Then, in the report, you can check the Max(Fields!.ERROR_MESSAGE.Value) to determine if you should display the error message in that column or regular data.