Why do embedded platform developers continuosly attempt to remove usage C++ exceptions from their SDKs?
For example, Bada SDK suggests the following workaround for the exception usage, which looks exceptionally ugly:
 result
 MyApp::InitTimer()
 {
    result r = E_SUCCESS;
    _pTimer = new Timer;
    r = _pTimer->Construct(*this);
    if (IsFailed(r))
    {
        goto CATCH;
    }
    _pTimer->Start(1000);
    if (IsFailed(r))
    {
        goto CATCH;
    }
    return r;
 CATCH:
     return r;
 }
What are the reasons for this behavior?
As far as I know, ARM compilers fully support C++ exceptions and this couldn't actually be the matter. What else? Is the overhead of the exception usage and unwindings on ARM platforms really that BIG to spend a lot time making such workarounds?
Maybe something else I'm not aware of?
Thank you.
 
     
     
     
     
     
     
    