I have been using Visual Studio 2003 since the first beta. Until today however, I never knew about $exception. This post is a reminder to me that the Locals Window is my friend.
There is a local variable in the locals window when the debugger breaks due to an unhandled exception that holds the thrown exception. I cringe at the thought of time wasted trying to get the same information via other, shall we say less effecient, means.