Programm bricht bei throw unter Linux sles10 ab...



  • Hallo ,

    folgender Code läuft unter Windows ( Umgebung .Net C++ )
    und bricht unter Linux SLES10 ab.

    void MTibcoEmpfaengerListener::VerarbeiteMessage( const MEvent& refEvent ) 
    { 
        eFehler = MessageExceptionEvent( refEvent ); 
        try{ 
             poOutputData = GibInstance( refEvent , poOutputData ); 
           poInstance = MInstance::downCast( poOutputData ); 
        }    
        catch( MException& eException ){ 
                 eFehler = "Mitteilung beschädigt" ; 
        } 
        catch(...){ 
                 eFehler = "Mitteilung beschädigt";    }    
    
            if( eFehler.IsError() ) { 
             throw eFehler; 
            }
    

    Beim throw eFehler; bricht das Programm unter Linux hart ab.

    Hat jemand bereits ähnliche Erfahrungen gemacht ?
    Und was kann man da machen ?

    Grüße,
    Elke



  • Und was kann man da machen ?

    Die Exception fangen?

    Das Problem liegt nicht im geposteten Code. Ein throw kann hart abbrechen (std::terminate aufrufen). Interessant ist also der umliegende catch-Block. Aber der Typ von eFehler wäre noch interessant.


Anmelden zum Antworten