If you throw an exception from inside an MFC dialog, the app hangs, even if you have a catch block in your code. It refuses to respond to the mouse or keyboard, and the on
Mark's answer is correct. For a much more rigorous analysis of this problem and a detailed suggestion for dealing with it in your own code, see this FAQ by Doug Harrison (section Q6 in particular).