Since Transact-SQL is so laconic (critics may say feature-poor), development DBAs commonly express themselves in a very concise manner. DBAs frequently write ad hoc scripts for one-time use or manual execution, and they thus neglect the need for consistent error handling.
Logic that is fine in standard languages like Visual Basic or C frequently does not work in Transact-SQL. For example, an error may occur in Transact-SQL, but if Transact-SQL does not consider it fatal, processing will continue. Also, if the error is fatal, all processing will stop. The process does not react—it is just killed.