The @@ERROR automatic variable returns the error code of the last Transact-SQL statement.
If there was no error, @@ERROR returns zero.
Because @@ERROR is reset after each Transact-SQL statement, it must be saved to a variable if it is needed to process it further after checking it.