5 Stimmen

Wie schreibe ich Ausnahme han

Ich versuche, eine Funktion zu schreiben, die einen Benutzer für eine fünfstellige Zahl auffordert, und ich möchte einen Ausnahmeblock schreiben, um schlechte Eingaben zu behandeln, falls der Benutzer versucht, eine Zeichenfolge oder eine nicht-ganzzahlige Eingabe einzugeben.

Ich weiß, wie man eine Ausnahmebehandlung Block für so etwas wie eine Division-Funktion zu schreiben, wo Sie eine Ausnahme für den Nenner 0 geworfen, aber ich habe keine Ahnung, wie man dies für die Eingabe zu tun, die ich keine Kontrolle über haben.

0voto

vsz Punkte 4637

Die einfachste Lösung besteht darin, eine Zeichenkette zu lesen und sie in eine Ganzzahl umzuwandeln, zum Beispiel mit atoi . Wenn Sie eine Null als Ergebnis erhalten und Ihre Zeichenkette nicht "0" war, wissen Sie, dass die Eingabe nicht numerisch war, ohne dass Sie die Zeichenkette selbst durchlaufen müssen.

0voto

supercat Punkte 72939

Ausnahmen sind oft angebracht, wenn Daten von einer anderen Maschine oder einem anderen Prozess akzeptiert werden, wo es keinen Grund gibt, ungültige Daten in einem ansonsten gültigen Datenstrom zu erwarten. Im Hinblick auf Benutzereingaben sollten Ausnahmen nur in Fällen verwendet werden, die eine deutliche Abweichung vom normalen Programmablauf darstellen. Wenn zum Beispiel ein Programm eine tty-ähnliche Schnittstelle hat und eine Routine, die eine Eingabezeile lesen soll, ein Control-C erhält, kann es für eine solche Routine sinnvoll sein, eine Ausnahme zu werfen. Das Control-C sollte nicht notwendigerweise das Programm beenden, aber wenn das Programm erwartet, mehrere Eingabezeilen vom Benutzer zu lesen, sollte die Eingabe von Control-C bei einer Zeile häufig dazu führen, dass der Rest übersprungen wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X