python try except python handling exception with examples
In diesem Lernprogramm wird die Ausnahmebehandlung in Python mithilfe des Blocks 'Ausnehmen' anhand von Programmierbeispielen erläutert:
Zwei Fehlertypen können dazu führen, dass ein Python-Programm abrupt gestoppt wird, d. H. Syntaxfehler , und Ausnahmen . In diesem Tutorial werden wir den zweiten Fehlertyp (Ausnahmen) unter mehreren wichtigen Themen diskutieren.
Wir werden viel von der Behandlung von Ausnahmen in unserer Anwendung profitieren, wie zum Beispiel:
- Erstellen einer robusten Anwendung.
- Erstellen eines sauberen und fehlerfreien Codes.
=> Besuchen Sie hier für die exklusive Python-Schulungsserie
Was du lernen wirst:
- Python Try Except
- Allgemeine Python-Ausnahmen
- Fazit
Python Try Except
Eine gute Nachricht ist, dass Python eine gute Anzahl integrierter Ausnahmen hat, um Fehler in unserem Code abzufangen. Außerdem haben wir die Möglichkeit, benutzerdefinierte Ausnahmen zu erstellen, wenn keine der integrierten Ausnahmen unseren Anforderungen entspricht.
Was ist eine Ausnahme?
Was ist eine Ausnahme in Python? In einfachen Worten, wenn der Python-Interpreter versucht, ungültigen Code auszuführen, löst er eine Ausnahme aus. In den Fällen, in denen eine solche Ausnahme nicht behandelt wird, stört er den normalen Ablauf der Programmanweisungen und druckt einen Traceback.
Erstellen wir einen ungültigen Code und sehen, wie der Python-Interpreter reagiert.
Öffnen Sie eine Python-Shell und führen Sie den folgenden Code aus.
>>> 50/0
Dies ist einer der häufigsten Programmierfehler. Der obige Code versucht, die Zahl zu teilen fünfzig durch 0 (Null). Der Python-Interpreter sieht dies als ungültige Operation an und löst a aus ZeroDivisionError , unterbricht das Programm und druckt einen Traceback.
Das können wir deutlich sehen ZeroDivisionError ist die Ausnahme, die ausgelöst wurde. Es ist in der Tat Pythons eigene Art, uns zu sagen, dass es nicht cool ist, eine Zahl durch Null zu teilen. In anderen Sprachen wie JavaScript ist dies kein Fehler. und Python verbietet diese Praxis strikt.
Es ist auch wichtig zu wissen, dass dies nur ein Ausnahmeobjekt ist und in Python viele solcher Objekte integriert sind. Schauen Sie sich diesen Python-Beamten an Dokumentation um alle in Python integrierten Ausnahmen anzuzeigen.
Traceback verstehen
Bevor wir mit der Behandlung von Ausnahmen beginnen, wird es hilfreich sein zu verstehen, was genau passiert, wenn Ausnahmen nicht behandelt werden und wie Python sein Bestes tut, um uns über unseren Fehler zu informieren.
Immer wenn Python auf einen Fehler stößt, wird eine Ausnahme ausgelöst. Wenn diese Ausnahme nicht behandelt wird, werden einige Informationen namens Traceback erstellt. Welche Informationen enthält dieser Traceback?
Es beinhaltet:
- Die Fehlermeldung, die uns mitteilt, welche Ausnahme ausgelöst wurde und was passiert ist, bevor diese Ausnahme ausgelöst wurde.
- Die verschiedenen Zeilennummern des Codes, der diesen Fehler verursacht hat. Ein Fehler kann durch eine Folge von Funktionsaufrufen verursacht werden, die als a bezeichnet werden Aufrufstapel was wir später hier diskutieren werden.
Obwohl es etwas verwirrend ist, versprechen wir, dass das nächste Beispiel mehr Licht in unser Verständnis bringen wird.
Erinnern Sie sich an den Traceback, der gedruckt wurde, indem Sie oben 50 durch 0 geteilt haben. Wir können sehen, dass der Traceback die folgenden Informationen enthält:
- Datei “”: Dies sagt uns, dass dieser Code von einem Konsolenterminal ausgeführt wurde.
- Zeile 1: Dies sagt uns, dass der Fehler in dieser Zeilennummer aufgetreten ist.
- ZeroDivisionError: Teilung durch Null: Es sagt uns, welche Ausnahme ausgelöst wurde und was sie verursacht hat.
Versuchen wir ein anderes Beispiel und sehen wir vielleicht, wie a Aufrufstapel sieht aus wie. Öffnen Sie einen Editor, geben Sie den folgenden Code ein und speichern Sie unter tracebackExp .py
def stack1(numb): # 1 div = 0 # 2 stack2(numb, div) # 3 def stack2(numb, div): # 5 compute = numb/div # 6 print(compute) # 7 if __name__ == '__main__': # 9 numb = 5 # 10 stack1(numb) # 11
Öffnen Sie ein Terminal in dem Verzeichnis, in dem sich diese Datei befindet, und führen Sie sie aus.
python tracebackExp.py
Sie sehen den folgenden Traceback:
Der obige Traceback mag verwirrend erscheinen, ist es aber nicht. Pythonistas hat den besten Weg gefunden, um Traceback zu lesen, der aus dem Prost . Lassen Sie uns diese Weisheit nutzen, um zu verstehen, was dieser Traceback zu bieten hat.
- Ganz unten sehen wir die Ausnahme, die ausgelöst wurde und warum sie ausgelöst wurde.
- Wenn wir nach oben gehen, erhalten wir den Dateinamen tracebackExp .py, wo dieser Fehler aufgetreten ist, die Berechnung, die diesen Fehler verursacht hat, compute = numb / div, der Funktionsstapel2 und die Verbindungsnummernzeile 6, in der diese Berechnung durchgeführt wurde.
- Wenn wir nach oben gehen, sehen wir, dass unsere Funktion stack2 in der Funktion stack1 in Zeile 3 aufgerufen wurde.
- Wenn wir nach oben gehen, sehen wir, dass die Funktion stack1 in Zeile 11 aufgerufen wurde.< Modul > sagt uns, dass es die Datei ist, die ausgeführt wird.
Allgemeine Python-Ausnahmen
Die Python-Bibliothek definiert sehr viele integrierte Ausnahmen. Sie können die Python-Dokumentation überprüfen oder die integrierte aufrufen lokal () funktionieren wie folgt:
>>> dir(locals()('__builtins__'))
Wir werden nicht versuchen, alle diese Ausnahmen zu beheben, aber wir werden einige häufige Ausnahmen sehen, auf die Sie wahrscheinlich stoßen werden.
# 1) TypeError
Sie wird ausgelöst, wenn eine Operation oder Funktion auf ein Objekt eines ungeeigneten Typs angewendet wird.
Beispiel 1
Betrachten Sie das folgende Programm. Es nimmt eine Dividende und einen Divisor auf, berechnet und druckt dann das Ergebnis der Division der Dividende durch den Divisor.
def compute_division(): dividend = int(input('Enter the dividend: ')) # cast string to int divisor = input('Enter the divisor: ') # no casting # Compute division result = dividend/divisor # print result print('The result of {}/{} is: {}'.format(dividend, divisor, result)) if __name__ == '__main__': result = compute_division()
Wir fordern vom Benutzer den Wert der Dividende und des Divisors an, vergessen jedoch, den Zeichenfolgenwert des Divisors in eine Ganzzahl umzuwandeln. Am Ende ist der Dividendentyp also eine Ganzzahl ( int ) und der Typ des Divisors ist string ( p ). Wir bekommen dann die TypeError da der Divisionsoperator (/) keine Zeichenfolgen bearbeitet.
Es könnte Sie interessieren zu wissen, dass Javascript im Gegensatz zu Python über Typenzwang verfügt, der im Grunde einen der Operandentypen in einen äquivalenten Wert des Typs des anderen Operanden konvertiert, wenn die Operanden unterschiedlichen Typs sind.
# 2) ValueError
Dies wird ausgelöst, wenn eine Operation oder Funktion ein Argument empfängt, das den richtigen Typ, aber einen unangemessenen Wert hat.
Beispiel 2
Betrachten Sie unser Programm in Beispiel 1 über.
Wenn der Benutzer einen alphanumerischen Wert für die Dividende wie '3a' eingibt, löst unser Programm die ValueError-Ausnahme aus. Dies liegt daran, obwohl Python int () Die Methode nimmt eine beliebige Zahl oder Zeichenfolge auf und gibt ein ganzzahliges Objekt zurück. Der Zeichenfolgenwert sollte keine Buchstaben oder nicht numerischen Werte enthalten.
# 3) AttributeError
Diese Ausnahme wird beim Zuweisen oder Verweisen auf ein nicht vorhandenes Attribut ausgelöst.
Beispiel 3
Betrachten Sie das folgende Programm. Es nimmt eine Zahl auf und berechnet seine Quadratwurzel mit der Python-Mathematikmodul
import math # import math library to gain access to its code def compute_square_root(number): # compute the square root using the math library result = math.sqr(number) return result if __name__ == '__main__': # get input to compute from user number = int(input('Compute Square root of: ')) # call function to compute square root
Wenn ein Benutzer eine Zahl eingibt, versucht unser Programm, eine Funktion aus dem Mathematikmodul zu verwenden, um seine Quadratwurzel zu berechnen, aber genau hier haben wir einen Fehler gemacht. Anstelle von sqrt haben wir fälschlicherweise sqr eingegeben, das im Mathematikmodul nicht vorhanden ist.
Wir haben also versucht, auf ein Attribut sqr zu verweisen, das nicht vorhanden ist, und haben dazu geführt, dass die Ausnahme AttributeError ausgelöst wurde. Die meisten von uns machen diese Art von Fehler oft. Du bist also nicht allein.
Behandeln von Ausnahmen mit Try Except
Als Programmierer werden die meisten von uns ihre Zeit damit verbringen, einen robusten Code zu schreiben, der belastbar ist. Code, der aufgrund einiger Fehler nicht beschädigt wird. In Python können wir dies erreichen, indem wir unsere Anweisungen in a einfügen Versuchen - - außer Erklärung.
Python Try-Except-Anweisung
Die try-Except-Anweisung hat die folgende Struktur:
try: #your code goes here except '''Specify exception type(s) here''': #handle exception here
Fügen wir den Code ein tracebackExp .py in einer Try-Except-Anweisung.
def stack1(numb): # 1 div = 0 # 2 stack2(numb, div) # 3 def stack2(numb, div): # 5 try: # 6 compute = numb/div # 7 print(compute) # 8 except ZeroDivisionError as zde: # 9 print(zde) # 10 if __name__ == '__main__': # 12 numb = 5 # 13 stack1(numb) # 14 print('program continuous') # 15
Wenn Sie diesen Code ausführen, wird die Ausgabe erzeugt
So funktioniert die try-exception-Anweisung. Python führt den Code im try-Block aus Zeile 7-8 . Wenn kein ungültiger Code gefunden wird, der Code im Ausnahmeblock Zeile 10 wird übersprungen und die Ausführung fortgesetzt.
Wenn jedoch ein ungültiger Code gefunden wird, stoppt die Ausführung sofort im try-Block und prüft, ob die ausgelöste Ausnahme mit der in der Ausnahme-Anweisung angegebenen übereinstimmt Zeile 9 . Wenn es übereinstimmt, wird der Ausnahmeblock ausgeführt und fortgesetzt. Ist dies nicht der Fall, wird das Programm unterbrochen.
Der Try-Block enthält normalerweise den Code, der eine Ausnahme auslösen kann, während der Exception-Block die Ausnahme abfängt und behandelt.
Umgang mit mehreren Ausnahmen mit Ausnahme
Wir können mehrere Ausnahmen entweder mit einer einzigen 'Ausnahme' oder mehreren 'Ausnahmen' behandeln. Es hängt alles davon ab, wie Sie mit jeder Ausnahme umgehen möchten.
# 1) Behandlung mehrerer Ausnahmen mit einer einzigen Ausnahme
try: #your code goes here except(Exception1(, Exception2(,...ExceptionN)))): #handle exception here
Diese Methode wird verwendet, wenn wir den Verdacht haben, dass unser Code unterschiedliche Ausnahmen auslöst und wir jeweils die gleiche Aktion ausführen möchten. Wenn der Python-Interpreter eine Übereinstimmung findet, wird der im Ausnahmeblock geschriebene Code ausgeführt.
Betrachten wir den folgenden Python-Beispielcode
def get_fraction(value, idx): arr = (4,5,2,0) # a list of numbers idx_value = arr(idx) # if idx is > arr length, IndexError will be raised value/idx_value # if idx_value == 0, ZeroDivisionError will be raised if __name__ =='__main__': # set 'value' and 'idx' value = 54 idx = 3 # call function in a try-except statement. try: result = get_fraction(value, idx) print('Fraction is ', result) except (IndexError, ZeroDivisionError) as ex: print(ex)
Wir haben zwei mögliche Ausnahmen, die hier angesprochen werden könnten: ZeroDivisionError und IndexError . Wenn eine dieser Ausnahmen ausgelöst wird, wird der Ausnahmeblock ausgeführt.
Im obigen Code ist idx = 3, also idx_ Wert wird 0 und Wert / idx_ Wert löst ZeroDivisionError aus
# 2) Behandeln mehrerer Ausnahmen mit mehreren Ausnahmen
try: #your code goes here except Exception1: #handle exception1 here except Exception2: #handle exception2 here except ExceptionN: #handle exceptionN here
Wenn wir lieber jede Ausnahme separat behandeln möchten, können Sie dies so tun.
Betrachten Sie den folgenden Python-Beispielcode
def get_fraction(value, idx): arr = (4,5,2,0) # a list of numbers idx_value = arr(idx) # if idx is > arr length, IndexError will be raised value/idx_value # if idx_value == 0, ZeroDivisionError will be raised if __name__ =='__main__': # set 'value' and 'idx' value = 54 idx = 5 # call function in a try-excepts statement. try: result = get_fraction(value, idx) print('Fraction is ', result) except IndexError: print('idx of {} is out of range'.format(idx)) except ZeroDivisionError: print('arr({}) is 0. Hence, can't divide by zero'.format(idx)) except Exception as ex: print(ex) print('Not sure what happened so not safe to continue, app will be interrupted') raise ex
Wir stellen hier fest, dass in der letzten Ausnahme-Anweisung eine Ausnahme verwendet wurde. Dies liegt daran, dass das Ausnahmeobjekt Ausnahme mit einer Ausnahme übereinstimmt. Aus diesem Grund sollte es immer das letzte sein, da Python die Überprüfung anderer Ausnahmebehandlungsroutinen beendet, sobald eine Übereinstimmung vorliegt.
Im obigen Code idx = 5 daher arr (idx) wird steigen IndexError weil idx ist größer als die Länge der Liste arr
Es ist auch nicht sicher, welche Ausnahme von Ihrer Anwendung ausgelöst wurde, um die Ausführung fortzusetzen. Aus diesem Grund haben wir den Typ 'Ausnahme', um unvorhergesehene Ausnahmen abzufangen. Anschließend informieren wir den Benutzer und unterbrechen die Anwendung, indem wir dieselbe Ausnahme auslösen.
Versuchen Sie es mit einer anderen Erklärung
Das ist ein optionale Funktion der Ausnahmebehandlung und ermöglicht das Hinzufügen von Code, den Sie ausführen möchten, wenn keine Fehler aufgetreten sind. Wenn ein Fehler auftritt, wird dieser else-Block nicht ausgeführt.
Betrachten Sie das folgende Beispiel für Python-Code, öffnen Sie Ihren Editor und speichern Sie den Code als elseTry.py
def fraction_of_one(divisor): value = 1/divisor # if divisor is zero, ZeroDivisionError will be raised return value if __name__ == '__main__': while True: try: # Get input from the user. # if input is not a valid argument for int(), ValueError will be raised divisor = int(input('Enter a divisor: ')) # call our function to compute the fraction value = fraction_of_one(divisor) except (ValueError, ZeroDivisionError): print('Input can't be zero and should be a valid literal for int(). Please, try again!') else: print('Value: ', value) break
Wir erhalten Eingaben vom Benutzer und verwenden sie, um 1 zu teilen. Wir haben hier zwei mögliche Ausnahmen, eine ungültige Benutzereingabe, die dazu führt ValueError und ein Null (0) was verursachen wird ZeroDivisionError . Unsere Ausnahme-Anweisung behandelt diese Fehler.
Jetzt wollen wir den Wert von ausdrucken Wert . Unser else-Block stellt sicher, dass er nur gedruckt wird, wenn unser try-Block fehlerfrei ausgeführt wird. Dies ist wichtig, da bei einem Fehler in unserem Try-Block die Wert wird undefiniert sein. Wenn Sie darauf zugreifen, wird ein weiterer Fehler ausgelöst.
Führen Sie den obigen Code mit Python elseTry.py aus
Die obige Ausgabe zeigt, dass wir für die erste Eingabe eingegeben haben 0 und drückte ENTER. Da unser Divisor 0 erhalten hat, wurde 1 / Divisor erhöht zeroDivisionError . Unsere zweite Eingabe war k, was für ungültig ist int (), daher die Ausnahme ValueError wird angehoben.
Aber unsere letzte Eingabe war 9, was gültig ist, und als Ergebnis haben wir den Wert von „ Wert ”Gedruckt als 0.1111111111111111
Versuchen Sie schließlich Aussage
Dies ist auch eine optionale Funktion der Ausnahmebehandlung und wird immer ausgeführt, egal was in den Ausnahmebehandlungsroutinen passiert.
Das ist:
- Gibt an, ob eine Ausnahme auftritt oder nicht
- Auch wenn in den anderen Blöcken eine 'Rückkehr' aufgerufen wird.
- Auch wenn das Skript in den anderen Blöcken beendet wird
Wenn wir also einen Code haben, den wir in allen Situationen ausführen möchten, ist finally-block unser Typ. Dieser Block wird hauptsächlich für Bereinigungen wie das Schließen von Dateien verwendet.
Betrachten Sie den folgenden Python-Beispielcode
def readFile(file_path): try: openFile = open(file_path,'r') # Open a file as read-only print(openFile.readline()) # Read first line of file content except FileNotFoundError as ex: print(ex) finally: print('Cleaning...') openFile.close() if __name__ == '__main__': filePath = './text.txt' readFile(filePath)
Dieser Code versucht, die Datei text.txt in ihrem aktuellen Verzeichnis zu öffnen und zu lesen. Wenn die Datei vorhanden ist, druckt unser Programm die erste Zeile der Datei, dann wird unser finally-Block ausgeführt und die Datei geschlossen.
Angenommen, wir haben eine Datei namens text.txt in dem Verzeichnis, in dem sich diese Programmdatei befindet und Hello enthält. Wenn wir das Programm ausführen, haben wir die Ausgabe
Dieses Beispiel wurde absichtlich ausgewählt, weil ich wollte, dass wir ein kleines Problem beheben, das beim Schließen von Dateien im finally-Block auftreten kann.
Wenn die Datei nicht vorhanden ist, die Ausnahme FileNotFoundError wird angehoben und die Variable Datei öffnen wird nicht definiert und ist kein Dateiobjekt. Daher wird der Versuch, es im finally-Block zu schließen, eine Ausnahme auslösen UnboundLocalError Das ist eine Unterklasse von NameError .
Dies bedeutet im Grunde, dass wir versuchen, auf die Variable zu verweisen Datei öffnen bevor es zugewiesen wurde.
Ein kleiner Trick besteht darin, Ausnahmebehandlungsroutinen im finally-Block zu verwenden.
def readFile(file_path): try: openFile = open(file_path,'r') # Open a file as read-only print(openFile.readline()) # Read first line of file content except FileNotFoundError as ex: print(ex) finally: try: print('Cleaning...') openFile.close() except: # catches all exceptions pass # Ignore this error because we don't care. if __name__ == '__main__': filePath = './text.txt' readFile(filePath)
Wenn unser try-Block FileNotFoundError auslöst, haben wir die folgende Ausgabe
Ausnahme auslösen
Eine gute Nachricht über Python-Ausnahmen ist, dass wir sie absichtlich auslösen können. Ausnahmen werden mit dem gemacht Aussage erheben .
Die Raise-Anweisung hat die folgende Syntax:
raise (ExceptionName((*args: Object)))
Öffnen Sie ein Terminal und lösen Sie ein Ausnahmeobjekt aus dem In Python integrierte Ausnahmen. Beispielsweise, Wenn wir ZeroDivisionError auslösen:
>>> raise ZeroDivisionError('Can't divide by zero')
Wir werden den Traceback bekommen:
Warum ist es wichtig, Ausnahmen zu machen?
- Bei der Arbeit mit benutzerdefinierten Ausnahmen.
- Während der Überprüfung der geistigen Gesundheit.
Benutzerdefinierte Ausnahmeklassen
Eine benutzerdefinierte Ausnahme ist eine, die Sie erstellen, um Fehler zu behandeln, die auf Ihre Bedürfnisse zugeschnitten sind. Der Trick ist, wir definieren eine Klasse, die vom Objekt abgeleitet ist Ausnahme Dann verwenden wir die Raise-Anweisung, um unsere Ausnahmeklasse zu erhöhen.
Angenommen, wir möchten die Benutzereingaben überprüfen und sicherstellen, dass der Eingabewert nicht negativ ist (Überprüfung der Integrität). Natürlich könnten wir die Python-Ausnahme ValueError auslösen, aber wir möchten den Fehler anpassen, indem wir ihm einen bestimmten und selbsterklärenden Namen geben InputIsNegativeError . Diese Ausnahme ist jedoch keine in Python integrierte Ausnahme.
Also erstellen wir zuerst unsere Basisklasse, die von Exception abgeleitet wird.
class CustomError(Exception): 'Base class exception for all exceptions of this module' pass
Dann erstellen wir unsere Ausnahmeklasse, die die Basisklasse erbt und unseren spezifischen Fehler behandelt.
class InputIsNegativeError(CustomError): '''Raised when User enters a negative value''' pass
Lassen Sie uns dies testen
try: value = int(input()) if value <0: raise InputIsNegativeError # Raise exception if value is negative except InputIsNegativeError: # catch and handle exception print('Input value shouldn't be negative')
Der obige Code fordert zur Benutzereingabe auf und prüft, ob er negativ ist. Wenn true, wird unsere benutzerdefinierte Ausnahme InputIsNegativeError ausgelöst, die später in der Except-Anweisung abgefangen wird.
Unten ist der vollständige Code:
class CustomError(Exception): 'Base class exception for all exceptions of this module' pass class InputIsNegativeError(CustomError): '''Raised when User enters a negative value''' pass if __name__ == '__main__': try: value = int(input('Input a number: ')) if value <0: raise InputIsNegativeError # Raise exception if value is negative except InputIsNegativeError: # catch and handle exception print('Input value shouldn't be negative')
Wenn der Eingabewert eine negative Zahl wie -1 ist, haben wir die Ausgabe:
Beispieltestskripte für Softwaretests
Probier das aus Python doc Weitere Informationen zu benutzerdefinierten Python-Ausnahmen.
Häufig gestellte Fragen
F # 1) Wie behandelt Python eine Ausnahme?
Antworten: Python behandelt Ausnahmen mit dem Try-Except-Anweisung . Der Code, der eine Ausnahme auslösen kann, wird in der platziert und ausgeführt versuchen Sie zu blockieren während außer Block Enthält den Code, der die Ausnahmen behandelt, falls auftreten.
F # 2) Was löst in Python eine Ausnahme aus?
Antworten: Immer wenn der Python-Interpreter auf einen ungültigen Code stößt, wird eine Ausnahme ausgelöst. Dies ist Pythons eigene Methode, um uns mitzuteilen, dass etwas Unerwartetes passiert ist. Wir können auch absichtlich Ausnahmen mit dem auslösen Aussage erheben .
F # 3) Wie geht Python mit mehreren Ausnahmen um?
Antworten: Python behandelt mehrere Ausnahmen entweder mit einem einzelnen Ausnahmeblock oder mit mehreren Ausnahmeblöcken.
Für einen einzelnen Block werden die Ausnahmen als Tupel übergeben: außer (Exception1, Exception2, .., ExceptionN) und Python suchen nach einer Übereinstimmung von rechts nach links. In diesem Fall wird für jede Ausnahme dieselbe Aktion ausgeführt.
Eine andere Möglichkeit, alle Ausnahmen abzufangen, besteht darin, den Namen der Ausnahme nach dem Schlüsselwort Except wegzulassen.
except: # handle all exceptions here
Die zweite Möglichkeit besteht darin, für jede Ausnahme einen Ausnahmeblock zu verwenden:
except Exception1: # code to handle Exception1 goes here except Exception2: # code to handle Exception2 goes here except ExceptionN: # code to handle ExceptionN goes here
Auf diese Weise können Sie für jede Ausnahme separate Aktionen ausführen.
F # 4) Warum ist die Ausnahmebehandlung in Python wichtig?
Antworten: Der Vorteil der Behandlung von Ausnahmen in Python besteht darin, dass wir robuste, saubere und fehlerfreie Anwendungen erstellen können. Wir möchten nicht, dass unser Produktionscode aufgrund einiger Fehler abstürzt. Daher behandeln wir die Fehler und halten unsere Anwendung am Laufen.
F # 5) Wie ignorieren Sie eine Ausnahme in Python?
Antworten: Verwenden Sie die Option, um eine Ausnahme in Python zu ignorieren bestehen Schlüsselwort im Ausnahmeblock. Angenommen, wir möchten die ValueError-Ausnahme ignorieren. Wir werden es so machen:
except ValueError: pass
Wenn Sie nicht wissen, was Sie tun, ist es eine schlechte Praxis, Ausnahmen zu ignorieren. Informieren Sie den Benutzer zumindest über alle möglichen Fehler.
Fazit
In diesem Tutorial haben wir Folgendes behandelt: Python-Ausnahmen, Traceback; wie man mit Ausnahmen umgeht Versuchen /. Außer /. Sonst /. Schließlich Blöcke, wie man Erziehen Ausnahmen und schließlich, wie Sie unsere eigenen benutzerdefinierten Ausnahmen erstellen.
Danke fürs Lesen!
=> Besuchen Sie hier, um Python von Grund auf neu zu lernen.
Literatur-Empfehlungen
- Python-Tutorial für Anfänger (KOSTENLOSES Python-Training zum Anfassen)
- Python-Steueranweisungen (Python Continue, Break and Pass)
- Python DateTime Tutorial mit Beispielen
- Python-String-Funktionen
- Python-Variablen
- Tutorial zur Behandlung von C # -Ausnahmen mit Codebeispielen
- Vollständige Anleitung zur Behandlung von PL SQL-Ausnahmen mit Beispielen
- Java-Ausnahmen und Ausnahmebehandlung mit Beispielen