Exceptions



  • hi leute!

    #include <stdexcept>

    int funktion (int index)
    {
    if (index == 1000)
    {
    exception err;
    err = "Fehler";
    throw err;
    }

    return (0);
    }

    dieser code müsste doch funktionieren oder????
    im Visual Studio 6.0 von Microsoft schon!

    unter GCC bzw. G++ auf einem Mac bzw. Unix-Rechner leider nicht!

    wieso? hat gcc einen anderen Standard oder muss ich da etwas anderes includen???



  • MSVC hat keinen Standard. bzw keine gute STandardunterstützung...
    du kannst meistens davon ausgehen, das gcc recht hat.
    wenn du zweifel hast, ob ein Code korrekt ist, probiere doch www.comeaucomputing.com/tryitout
    ein online Compiler, der sich 1A nach dem Standard hält.
    zu deinem code:
    probier mal ein std::exception statt exception.
    ich an deiner stelle aber würde eine eigene Exception Klasse entwerfen.



  • std::exception ist eine abstrakte Basisklasse von der man keine Instanz erzeugen kann.


Anmelden zum Antworten