std::error_code zusaetzliche info mitgeben



  • hallo leute

    gibt es eine moeglichkeit das ich std:error_code noch einen string als info mitgebe ?

    folgender pseudocode:

    try
    {
       int err = fetch_data_from_x();
       if(err)
          throw std::error_code(err, own_category());
          // throw std::error_code(err, own_category(), "source:x"); (1)
    
       err = fetch_data_from_y();
       if(err)
          throw std::error_code(err, own_category());
          // throw std::error_code(err, own_category(), "source:y"); (2)
    
       err = fetch_data_from_z();
       if(err)
          throw std::error_code(err, own_category());
          // throw std::error_code(err, own_category(), "source:z"); (3)
    }
    catch(const std::error_code &e)
    {
       std::datei << "Fehler in " << e.zusaetzliche_info(); (4)
    }
    

    so wie in den zeilen (1), (2) und (3) braeuchte ich es sinngemaess, damit ich wiederrum sinngemaess was aehnliches wie zeile (4) machen kann.

    wie macht man sowas am besten ?

    Meep Meep



  • Kannst Du nicht Deiner own_category ein entsprechendes Attribut spendieren, dass Du dann über den Konstruktor versorgst?



  • std::error_code ist keine Exception-Klasse und sollte daher normalerweise auch nicht geworfen werden.
    Wirf eine Exception die den std::error_code sowie zusätzlich die weiteren Daten die du transportieren möchtest enthält.



  • jap hast recht. hab glatt vergessen das es dafuer system_error gibt 🙂

    Meep Meep


Log in to reply