Starting with SQL 2008, RAISERROR has supported 'variable substitution' The article explains how to format an error message that contains variables.
Our mandate is not to supply technically correct, in-depth articles on how things work. We're about quick code examples that you can read and get back to work.
Personally, when I want something explained in depth I'll search msdn or ask Pinal Dave <smiles>