C++ Coding Standards: Throw by Value, Catch by Reference – http://www.informit.com/articles/article.aspx?p=373339