I couldn't read the error when it was being thrown (VC++ doesn't automatically call .what() on exceptions). So, constructing a temporary allows me to read it before it gets thrown. Just a usability thing for Visual C++.