Die Luftbehandlung ermöglicht es uns, das Skript auch im Fehlerfall weiterlaufen zu lassen.
Lassen Sie uns ein Beispiel ausprobieren, um Ihnen zu zeigen, wie wir Luftbehandlung und Python durchführen können.
Nehmen wir an, wir wollten ein Programm erstellen, das es uns ermöglicht, die Eingaben eines Benutzers aufzunehmen.
Nehmen wir an, wir bitten den Benutzer um ein H.
Also benutzen wir die Eingabeaufforderung und sagen, wie alt sind Sie?
Und dann drucken wir hier oder wir einfach das nette und einfache Programm, wenn ich das ausführe.
Und ich tippe, sagen wir, 10 ein.
Da gehst du.
Alles funktioniert, aber was ist, wenn ich keine Nummer eingegeben habe und ich so vorgehe?
Nun, das funktioniert noch, aber das wollte ich mit meinem Programm machen, vielleicht wollte ich das Alter eingeben und berechnen, ob
sie das Spiel nicht spielen können oder nicht, ob sie 18 oder älter sind, wie können wir das beheben?
Dies?
Nun, eine Sache, die wir tun können, ist, dies einfach in ein HNO zu packen, richtig, also konvertieren wir alles, was der Benutzer
uns gibt, in eine ganze Zahl, damit ich dies ausführen kann.
Und ich tippe das.
Oh, ich erhalte einen Fehler, einen Wertfehler ungültiges Litoral für int, ich versuche zu konvertieren.
Dies in eine Ganzzahl, aber es sagt mir, dass dies ein Fehler ist, das kann ich nicht.
Wie können wir dies mit der Fehlerbehandlung in Python beheben?
Wir können es so machen.
Wir haben die Tri-Loops, wir haben die Tri-Tastatur, die sagt: Hey, ich möchte, dass Sie diesen Code ausprobieren und wir müssen sicherstellen,
dass wir ihn erfunden haben.
Also probieren wir diesen Code aus.
Nun, alles, was innerhalb des Tri-Blocks passiert.
Ich kann damit umgehen.
Sehen Sie, woher die Handhabung kommt, Bereiche mit dem Schlüsselwort akzeptieren.
Und akzeptiere.
Sagt, hallo.
Wenn, was auch immer hier im Tri-Block ist, wenn etwas ausgestrahlt wird, möchte ich, dass Sie etwas sagen.
Also, anstatt diese rote Luft zu haben, die aus dem Programm geht, tun Sie etwas anderes.
Mach das.
Also werde ich sagen.
Drucken, bitte Nummer eingeben.
Mal sehen was jetzt passiert.
Wenn ich klicke, laufe.
Wie alt bin ich?
Ich werde nur Kauderwelsch schreiben.
Und sieh dir das an, ich bekomme bitte eine Nummer eintragen.
Ich behandle meine Fehler hier, indem ich meinen gesamten Code in einen try-Block einpacke, sodass ich einfach meine gesamte Datei von Basehead hierher
kopieren und in einen try-Block einfügen könnte.
Und was passiert, ist, dass mein Programm, anstatt dass es ausgestrahlt wird, bevor mein Programm abstürzt, diesen Code
ausführen und dann sagen wird, hey, wenn innerhalb dieses Blocks etwas passiert, fangen wir es hier mit
dem Block ausser ein .
Und ich kann hören.
Ich kann in meinem Fall machen, was ich will, ich kann sagen, hey, bitte gib unsere Nummer ein, aber wir haben hier unser Problem,
oder?
Das Programm ist gerade zu Ende gegangen und wir möchten, dass es weiterläuft.
Ich muss wieder laufen und noch einmal nach dem H fragen.
Wie können Sie also sicherstellen, dass wir dies so lange ausführen, bis dieser Benutzer tatsächlich etwas fair eingibt?
Nun, wir haben das schon einmal gesehen, wir können eine while-Schleife machen und sagen while true.
Ron, das.
Und wenn das funktioniert.
Nun, wir werden.
Hoffentlich bekomme ich das H, mal sehen, wenn ich auf "Run" klicke, war mein Alter, sagen wir.
Nein, bitte geben Sie ein Nein ein. Wie alt sind Sie?
Versuchen wir es noch einmal zu brechen.
Nein, bitte geben Sie unsere Nummer ein.
Alles klar, gut.
Mein Alter ist 10.
Da hörst du, ich bekomme den Namen 10, aber oh, ich frage mich immer noch, wie alt ich bin.
Idealerweise möchte ich aus dieser wahren Aussage ausbrechen, oder, wie kann ich das tun?
Nun, ich kann das verwenden, was wir hier aufrufen und sonst blockieren, was wir zuvor gesehen haben.
Aber das funktioniert mit einem Versuch außer Block.
Wir stellen es am Ende.
Es sagt, hey, versuch das.
Wenn es ein Ne'er gibt, tun Sie dies.
Wenn es jedoch nirgendwo anders ist, tun Sie dies.
In unserem Fall können wir also einfach Pause sagen.
Und weißt du was, wir können sogar Danke drucken, nur damit wir nett sind, wenn ich damit aufhöre und wieder laufe.
Und ich gebe ihnen mein Alter.
Da gehst du.
Wir sind fertig, wir sind aus der Schleife ausgebrochen und alles ist gut.
Und dieser Tri-Außer-Eisen-Block kann überall hingehen, wir können unsere gesamte Datei in einen Try-Außer-Block packen, wir können ihn
einfach zu unseren Funktionen innerhalb unserer einzelnen Funktionen hinzufügen.
Was wir wollen, können wir nutzen.
Dies ist nur ein weiteres Werkzeug, das Python uns zur Verfügung stellt, um mit Eres umzugehen.
Aber lass mich dich etwas fragen.
Was wäre, wenn ich statt zu drucken, was ich tat, sagen wir zehn geteilt durch das Alter?
Wenn ich mein Programm starte.
Und ich tippe hier Null ein und gebe ein.
Oh, ich komme da rein, bitte geben Sie eine Nummer ein, aber ich habe eine Nummer eingegeben.
Dies ist ein fehlerhaftes Programm, obwohl ich eine Zahl eingebe, bekomme ich immer noch dieselbe Fehlermeldung.
Wie gehen wir damit um?
Wie gehen wir mit verschiedenen Fehlern um, bei einem handelt es sich um einen Wertfehler und bei einem anderen offensichtlich
um einen Nullteilungsfehler?
Nun, im Außer-Block kann ich einfach angeben, welche Art von Fehler ich behandeln möchte, und erinnere mich, dass dies hier eingebaute Fehler sind,
die ich einfach kopieren und einfügen kann.
In meinem Fall möchte ich sagen, dass dies für einen Wertfehler gilt, damit, wenn ich mein Programm ausführe.
Und ich tippe null ein.
Oh, ich bekomme meine Luft, dieser außer Block akzeptiert nur Gutachter, alle anderen Fehler kümmert er nicht.
Hmm.
Was können wir hier also tun?
Nun, eine Möglichkeit ist, hier zu kopieren und zu sagen, hey, lass uns eine andere hinzufügen, außer und
in diesem Fall möchte ich einen Nullteilungsfehler für den Fall, dass ein Benutzer Null eingibt, Sie können sagen, bitte geben Sie ein Alter höher als Null ein.
Also, wenn ich das jetzt starte.
Und ich mache wieder null, bitte gib einen höheren Wert als null ein, wenn ich etwas Kauderwelsch mache, oops, wenn ich etwas Kauderwelsch mache, erhalte ich
bitte eine Zahl, wenn ich endlich eine Zahl eingebe.
Sieh dir das an.
Dankeschön.
Alles funktioniert.
Nun meine Frage, was passiert, wenn wir eintreten?
Ein weiterer Wertfehler hier und dieser Wertfehler wird nur Ausrufezeichen sagen.
Was passiert jetzt?
Ich bekomme bitte eine Nummer eintragen, denn dieser Ausnahmeblock wird nur einmal ausgeführt, sobald er die Luft fängt, sucht er
danach, ob er ausgeführt wird.
Und dann kommen Sie zurück zur Drahtschleife.
Es wird also nur einer der Erben gefasst.
Okay, machen wir eine Pause und erfahren Sie mehr über die Luftbehandlung im nächsten Video.
Wiedersehen.