Heim >Backend-Entwicklung >Python-Tutorial >Detaillierte Beschreibung der Ausnahmen in Python
Jede Ausnahme ist eine Instanz einer Klasse. Diese Instanzen können ausgelöst und auf viele Arten abgefangen werden, sodass das Programm Fehler erkennen und behandeln kann
>>> 1/0 Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> 1/0 ZeropisionError: integer pision or modulo by zero
Um Ausnahmen abzufangen, können try/exclusive-Anweisungen verwendet werden.
>>> def inputnum(): x=input('Enter the first number: ') y=input('Enter the first number: ') try: print x/y except ZeroDivisionError: print "The second number can't be zero" >>> inputnum() Enter the first number: 10 Enter the first number: 0 The second number can't be zero
Trigger-Ausnahme auslösen
>>> class Muff: muffled=False def calc(self,expr): try: return eval(expr) except ZeroDivisionError: if self.muffled: print 'Division by zero is illegal' else: raise >>> c=Muff() >>> c.calc(10/2) Traceback (most recent call last): File "<pyshell#33>", line 1, in <module> c.calc(10/2) File "<pyshell#31>", line 5, in calc return eval(expr) TypeError: eval() arg 1 must be a string or code object >>> c.calc('10/2') >>> c.calc('1/0') Traceback (most recent call last): File "<pyshell#35>", line 1, in <module> c.calc('1/0') File "<pyshell#31>", line 5, in calc return eval(expr) File "<string>", line 1, in <module> ZeroDivisionError: integer pision or modulo by zero >>> c.muffled=True >>> c.calc('1/0') Division by zero is illegal
Mehrere Ausnahmetypen
try: x=input('Enter the first number:') y=input('Enter the seconed number:') print x/y except ZeroDivisionError: print "The second number can't be zero!" except TypeError: print "That wasn't a number,was it?"
Mehrere Ausnahmen gleichzeitig abfangen
try: x=input('Enter the first number:') y=input('Enter the seconed number:') print x/y except(ZeroDivisionError,TypeError,NameError): print 'Your numbers were bogus...'
try: x=input('Enter the first number:') y=input('Enter the seconed number:') print x/y except(ZeroDivisionError,TypeError),e: print e Enter the first number:1 Enter the seconed number:0 integer pision or modulo by zero
Alle Ausnahmen abfangen
try: x=input('Enter the first number:') y=input('Enter the seconed number:') print x/y except: print 'something wrong happened...' Enter the first number: something wrong happened...
Das obige ist der detaillierte Inhalt vonDetaillierte Beschreibung der Ausnahmen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!