Cout vs. fprintf vs. fputsC++

Programme in C++. Entwicklerforum
Anonymous
 Cout vs. fprintf vs. fputs

Post by Anonymous »

Ich entwerfe meine Dienstprogrammfunktion so, dass sie keine Ausnahme auslöst, da ich mich nicht mit Ausnahmen befassen möchte und diese Funktion in einer While-Schleife verwenden kann. Ich versuche auch, alle Best Practices zu befolgen, die ich gelernt habe.

Code: Select all

namespace auxiliary {
static bool str_to_double(const std::string &line, double &res) noexcept {
char *end = nullptr;
errno = 0;
double value = strtod(line.c_str(), &end);
if (line.empty()) {
std::fputs("line is empty!\n", stderr);
} else if (end == line.c_str()) {
std::fputs("No characters consumed. Couldn't parse event the first character!\n", stderr);
} else if (*end != '\0') {
std::fputs("trailing nonnumerical character(s) detected\n", stderr);
} else if (errno == ERANGE) {
std::fputs("Overflow or underflow for double\n", stderr);
} else {
// everything's alright
res = value;
return true;
}
return false;
}
} namespace aux = auxiliary;
Ich möchte meine Funktion als noexclusive markieren. Aber ChatGPT sagte mir, dass std::cout möglicherweise (wenn auch in seltenen Fällen) eine Ausnahme verursachen könnte und dass ich std::fputs oder std::fprintf bevorzugen sollte.
In einer anderen Eingabeaufforderung teilte mir ChatGPT mit, dass das oben genannte AUCH Probleme verursachen kann.
Ich nehme an, in einer realen Anwendung würde ich wahrscheinlich so etwas wie eine benutzerdefinierte Logger-Klasse oder -Methode verwenden.
Aber in diesem speziellen Fall Welche soll verwendet werden, um sicherzustellen, dass keine Ausnahmen ausgelöst werden? cout/fputs/fprint? Oder sollte ich diese Idee aufgeben und die Funktion überhaupt als „noexclusive“ markieren?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post
  • Cout vs. fprintf vs. fputs
    by Anonymous » » in C++
    0 Replies
    3 Views
    Last post by Anonymous
  • Wie drucke ich (mit cout) eine Zahl in binärer Form?
    by Guest » » in C++
    0 Replies
    39 Views
    Last post by Guest
  • Logik hinter der Cout -Formatierung in diesem Fall [geschlossen]
    by Anonymous » » in C++
    0 Replies
    43 Views
    Last post by Anonymous
  • Der Befehl "cout" zeigt nicht die von mir gewünschte Nachricht auf dem Bildschirm an
    by Anonymous » » in C++
    0 Replies
    28 Views
    Last post by Anonymous
  • C ++ Cout Hex -Werte?
    by Anonymous » » in C++
    0 Replies
    22 Views
    Last post by Anonymous