I executed a command like Create Table (field1 , field2)
which obviously produces an error because there is no datatype assigned.
If I subsequently check the master..sysprocesses table
select * from master..sysprocesses
I see that there is a field called Stmt_End there with a value of -1, while all others have a 0 value.
Indicating to me that perhaps if you really need this functionality you could create a trigger on the master..sysprocesses table and look for a Stmt_End value of -1 to indicate something is wrong. You could get the SPID value, and then issue a dbcc inputbuffer(SPID#) command to get the text that was fired which led to the error. Not sure if you are even allowed to creat a trigger on teh sysprocesses table, or if that could end up leading to big problems, but I thought I'd at least mention it for you as a place to consider starting at.