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_codeist keine Exception-Klasse und sollte daher normalerweise auch nicht geworfen werden.
Wirf eine Exception die denstd::error_codesowie 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