I don't want to start another "Holy War", but have one question:
does Symbian plan to migrate to C++ exceptions in some future version (Symbian OS 10? 11? 12? 13?) and throw out crappy "leaves"?
(And I don't even ask about automatic resource management and garbage collection - that is just unbelievable in Symbian.)
And why they didn't do this in Symbian 9?
1) It already supports C++ exceptions as "additional feature";
(And don't even try to convince me C++ exceptions require more CPU power or memory than "leaves".)
2) It's not binary-, nor source-compatible with Symbian 8;
3) v9 applications require external testing and moderate modification "to meet Symbian standards" to be signed;
4) And since Symbian 10 will require more testing/changes, I see no obstacles to start using C++ exceptions in the OS itself. (Actually, I do see one: laziness of Symbian programmers)
Why I ask?
Look at your application's source code, and count lines that are there only to support leaves, two-staged constructors, cleanup stack and all related stuff. In my source code it's at least 20%. Some of them can be removed with help of thin templates, that leaves around 15%. They all will be thrown out if OS will start using C++ exceptions.