Hinweise zum Umgang mit einer einzigen Ausnahme in Python

Einige Dinge, die Sie in Python zu entwickeln haben eine schreckliche Gewohnheit spuckt Ausnahmen, wenn die Benutzereingaben unerwartete Werte. Ein Teil der Lösung ist die Bereichsprüfung zur Verfügung zu stellen. Allerdings Bereichsprüfung überwinden nicht das Problem eines Benutzers Eingabe von Text wie Hallo anstelle eines erwarteten numerischen Wert. Ausnahmebehandlung stellt eine komplexere Lösung für das Problem, wie in den folgenden Schritten beschrieben.

1

Öffnen Sie ein Python-Datei-Fenster.

Sie sehen einen Editor, in dem Sie den Beispielcode eingeben können.

2

Geben Sie den Code in das Fenster - drücken Sie nach jeder Zeile eingeben:

versuchen: Wert = int (Eingang ( "Geben Sie eine Zahl zwischen 1 und 10:")), mit Ausnahme Valueerror: ( "Sie müssen sich eine Zahl zwischen 1 und 10 eingeben") print anders: if (Wert> 0) und (Value lt; = 10): print ( "Sie tippte:", Wert) else: print ( "Der Wert, den Sie eingegeben haben ist falsch!")

Der Code innerhalb des Versuchen Block hat seine Ausnahmen behandelt. In diesem Fall bedeutet die Ausnahmebehandlung von dem Benutzer immer Eingabe mit int (input ()) nennt. Wenn eine Ausnahme außerhalb dieser Block auftritt, wird der Code behandeln es nicht.

Mit Zuverlässigkeit im Auge, könnte der Versuchung all den ausführbaren Code in ein einzuschließen sein Versuchen Block so dass jede Ausnahme behandelt werden würden. Sie möchten jedoch Ihre Ausnahmebehandlung klein und spezifisch zu machen Auffinden des Problems zu erleichtern.

Das außer Block sucht nach einer bestimmten Ausnahme in diesem Fall: Valueerror. Wenn der Benutzer eine Valueerror Ausnahme von Hallo anstelle eines numerischen Wert eingeben, ist diese besondere Ausnahmeblock ausgeführt. Wenn der Benutzer waren eine andere Ausnahme zu erzeugen, diese außer Block wäre es nicht handhaben.

Das sonst Block enthält den gesamten Code, der ausgeführt wird, wenn die Versuchen Blockcode erfolgreich ist (erzeugt keine eine Ausnahme). Der Rest des Codes ist in diesem Block, weil Sie es nicht ausführen wollen, wenn der Benutzer eine gültige Eingabe liefert. Wenn der Benutzer eine ganze Zahl als Eingabe liefert, kann der Code dann Bereich überprüfen es, um sicherzustellen, dass es korrekt ist.

3

Wählen Sie Start-Run Module.

Sie sehen eine Python-Shell-Fenster geöffnet. Die Anwendung fragt Sie eine Zahl zwischen 1 und 10 eingeben.

4

Geben Sie Hallo und drücken Sie die Eingabetaste.

Die Anwendung zeigt eine Fehlermeldung.

5

Führen Sie die Schritte 3 und 4 wieder, aber geben Sie 5,5 anstelle von Hallo.

Die Anwendung generiert die gleiche Fehlermeldung.

6

Führen Sie die Schritte 3 und 4 wieder, aber geben 22 anstelle von Hallo.

Die Anwendung gibt den erwarteten Bereich Fehlermeldung. Ausnahmebehandlung auszusondern keine Bereichsfehler. Sie müssen noch separat für sie überprüfen.

7

Führen Sie die Schritte 3 und 4 wieder, aber geben Sie 7 statt Hallo.

Dieses Mal berichtet die Anwendung schließlich, dass Sie einen korrekten Wert von 7. Auch zur Verfügung gestellt haben, obwohl es wie eine Menge Arbeit scheint dieses Maß an Kontrolle durchzuführen, kann man nicht wirklich sicher sein, dass Ihre Anwendung korrekt ohne es funktioniert.

8

Führen Sie die Schritte 3 und 4 wieder, aber drücken Sie Strg + C, Cmd + C, oder die Alternative für yourplatform, anstatt etwas einzugeben.

Die Anwendung erzeugt ein KeyboardInterrupt Ausnahme. Da diese Ausnahme nicht behandelt wird, ist es immer noch ein Problem für den Anwender.

Menü