Implementing a normal, user-initiated quit in terms of exceptions is laziness and shoddy program design. Quitting isn''t exceptional when the user requested it - exceptions should be exceptional (rare) in nature.
An abnormal event generating an exception that leads to a quit I can understand.
But don''t abuse exceptions as flow control, they aren''t used enough as is and they don''t need a bad reputation:
int main(){ try { myHopelesslyInfiniteLoopICantStop(); } catch(const QuitException&) { } return 0;}
--God has paid us the intolerable compliment of loving us, in the deepest, most tragic, most inexorable sense.- C.S. Lewis