Heim >Backend-Entwicklung >C++ >Wie kann man in C ordnungsgemäß mit Division-durch-Null-Ausnahmen umgehen?
Umgang mit der Divide-by-Zero-Ausnahme
Ganzzahlen in C haben keine native Ausnahmeunterstützung. Im bereitgestellten Codeausschnitt heißt es also:
int i = 0; cin >> i; // Input might be zero try { i = 5/i; } catch (std::logic_error e) { cerr <p>Wenn die Eingabe Null ist, führt dies zu undefiniertem Verhalten, anstatt eine Ausnahme auszulösen. Um solche Szenarien zu bewältigen, müssen Sie die Prüfung durchführen und explizit eine Ausnahme auslösen.</p><p>Im folgenden Code behandeln wir Ausnahmen bei der Division durch Null mithilfe der intDivEx-Methode:</p><pre class="brush:php;toolbar:false">#include <iostream> #include <stdexcept> inline int intDivEx(int numerator, int denominator) { if (denominator == 0) throw std::overflow_error("Divide by zero exception"); return numerator / denominator; } int main() { int i = 42; try { i = intDivEx(10, 0); } catch (std::overflow_error &e) { std::cout "; } std::cout "; } std::cout <p>Dieser Code prüft vor der Ausführung der Operation, ob eine Division durch Null erfolgt. Wenn eine Ausnahme auftritt, wird eine Fehlermeldung ausgegeben. Andernfalls wird die Ausführung fortgesetzt.</p></stdexcept></iostream>
Das obige ist der detaillierte Inhalt vonWie kann man in C ordnungsgemäß mit Division-durch-Null-Ausnahmen umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!