Verständnis Problem Exception handling



  • Hallo Leute,

    ich habe mich heute etwas mit dem Exception Handling in cpp beafsst. Aus den Tutorials werde ich leider nicht schlau.

    Zunächst verstehe ich nicht was der große Vorteil gegenüber einer einfachen If-else-Anweisung sein soll. Siehe Code unten.

    double division(int a, int b)
    {
       if( b == 0 )
       {
          throw "Division by zero condition!";
       }
       return (a/b);
    }
    

    Soweit ich das verstehe, schreibt man im try-Block den auszuführenden Code. Der Catch-Block beinhaltet den Teil des Codes, der bei einer Exception ausgeführt wird. Soweit das.

    Der Catch-Block bekommt anscheinend ein Argument mitgeliefert, was das Argument bewirkt bleibt mir allerdings ein Rätsel. Ich sehe beim Argument keinen Zusammhang zum try-Block. Was der Unterschied zwischen throw und catch ist weiß ich auch nicht so genau. Anscheinend ist throw nicht immer notwendig.

    Kann mich da einer bitte aufklären?




Anmelden zum Antworten