suchen
HeimBackend-EntwicklungPython-TutorialPython-Fehler- und Ausnahmekonzepte

Python-Fehler- und Ausnahmekonzepte

Feb 28, 2017 am 10:32 AM
python

Python-Fehler- und Ausnahmekonzepte (allgemein)

Wie man mit Fehlern und Ausnahmen umgeht

  1. Häufige Fehler

  2. a: NameError

  3. if True: SyntaxError

  4. f = oepn('1.txt'): IOError

  5. 10/0: ZeropisionError

  6. a = int('d'): ValueError

  7. Programm läuft Unterbrechung: KeyboardInterrupt

2.Python-verwenden Sie try_exclusive, um Ausnahmen zu behandeln (1)

try:
    try_suite
except Exception [e]:
    exception_block
  1. try wird verwendet, um Fehler in try_suite zu erfassen , und übergeben Sie den Fehler an Ausnahme

  2. Exception wird zur Behandlung von Ausnahmen verwendet. Wenn die Behandlung von Ausnahmen mit dem Festlegen der erfassten Ausnahme übereinstimmt, verwenden Sie „Exception_block“ zur Behandlung von Ausnahmen

# case 1
try:
    undef
except:
    print 'catch an except'
# case 2
try:
    if undef
except:
    print 'catch an except'
  • Fall1: Die Ausnahme kann abgefangen werden, weil es sich um einen Laufzeitfehler handelt

  • Fall2: Die Ausnahme kann nicht abgefangen werden, weil Es handelt sich um einen Syntaxfehler, einen Vorlauffehler

--

# case 3
try:
    undef
except NameError,e:
    print 'catch an except',e
# case 4
try:
    undef
except IOError,e:
    print 'catch an except',e
  • Fall 3: Die Ausnahme kann abgefangen werden weil die Einstellung die NameError-Ausnahme erfasst

  • Fall 4: Ausnahme kann nicht abgefangen werden, da die Einstellung IOError NameError nicht behandelt

Beispiel
import random

num = random.randint(0, 100)

while True:
    try:
        guess = int(raw_input("Enter 1~100"))
    except ValueError, e:
        print "Enter 1~100"
        continue
    if guess > num:
        print "guess Bigger:", guess
    elif guess < num:
        print "guess Smaller:", guess
    elif guess == num:
        print "Guess OK,Game Over"
        break
    print &#39;\n&#39;

3. Python verwendet try_exclusive, um Ausnahmen zu behandeln (2)

  • try-exclusive: mehrere Ausnahmen behandeln

try:
    try_suite
except Exception1[e]:
    exception_block1
except Exception2[e]:
    exception_block2
except ExceptionN[e]:
    exception_blockN

4 . Python-try_finally verwendet

try:
    try_suite
finally:
    do_finally
  • Wenn die try-Anweisung den Fehler nicht erfasst, führt der Code die do_finally-Anweisung aus

  • Wenn die try-Anweisung erfasst den Fehler, das Programm führt zuerst die do_finally-Anweisung aus und übergibt dann den erfassten Fehler an die Python-Interpreter-Verarbeitung

Python-try-exclusive-else-finally

 try:
    try_suite
 except:
    do_except
 finally:
    do_finally
  • Wenn die Try-Anweisung die Ausnahme nicht abfängt, wird die Ausführung abgeschlossen. Nach dem Try-Codesegment wird sie schließlich ausgeführt

  • Wenn Try eine Ausnahme abfängt , zuerst ausführen, außer um den Fehler zu behandeln, und dann schließlich ausführen

6. Python-with_as Die Anweisung

with context [as var]:
    with_suite
  • with-Anweisung ist Wird verwendet, um die try_exclus_final-Anweisung zu ersetzen, um den Code prägnanter zu gestalten

  • Der Kontextausdruck gibt ein Objekt zurück

  • var wird zum Speichern der Kontextrückgabe verwendet Objekt, ein einzelner Rückgabewert oder ein Grundelement

  • with_suite verwendet var-Variablen, um das Kontextrückgabeobjekt zu bearbeiten

Die Essenz der with-Anweisung ist Kontextverwaltung:

  1. Kontextverwaltungsprotokoll: enthält die Methoden __enter__() und __exit()__. Objekte, die dieses Protokoll unterstützen, müssen diese beiden Methoden

  2. Kontextmanager: Definiert den Laufzeitkontext, der beim Ausführen der with-Anweisung eingerichtet werden soll, und ist für die Ausführung der Ein- und Ausgangsvorgänge im Kontext des with-Anweisungsblocks verantwortlich.

  3. Geben Sie die ein Kontextmanager: Rufen Sie die Manager-

    -Methode auf. Wenn die as var-Anweisung festgelegt ist, akzeptiert die Variable var den Rückgabewert der __enter__-Methode __enter__()

  4. Verlassen Sie den Kontextmanager: Rufen Sie die Verwaltung auf Gerät

    Methode__exit__

class Mycontex(object):
    def __init__(self, name):
        self.name = name

    def __enter__(self):
        print "__enter__"
        return self

    def do_self(self):
        print "do_self"

    def __exit__(self, exc_type, exc_val, exc_tb):
        print "__exit__"
        print "Error:", exc_type, " info:", exc_val


if __name__ == "__main__":
    with Mycontex(&#39;test context&#39;) as f:
        print f.name
        f.do_self()
Anwendungsszenario mit Anweisung:

  1. Dateioperation

  2. Mutex-Objekte zwischen Prozessthreads, wie Mutex-Sperren

  3. Andere Objekte, die Kontext unterstützen

2. Standardausnahmen und automatische Ausnahmen

1. Python-assert- und raise-Anweisungen

  • rais-Anweisung

    • reise-Anweisung wird verwendet, um aktiv eine Ausnahme auszulösen

    • Syntaxformat: raise[Exception[,Args]]

    • Exception: Ausnahmeklasse

    • Args : Tupel, das Ausnahmeinformationen beschreibt

raise TypeError, &#39;Test Error&#39;
raise IOError, &#39;File Not Exit&#39;
  • Assert-Anweisung

    • Assertion Anweisung: Die Assertion-Anweisung wird verwendet, um zu überprüfen, ob der Ausdruck wahr ist. Wenn sie falsch ist, wird ein AssertionError ausgelöst

    • Syntaxformat: Assertion Expression[,Args]

    • Ausdruck: Ausdruck

    • Argumente: Beschreibungsinformationen der Beurteilungsbedingung

assert 0, &#39;test assert&#39;
assert 4==5, &#39;test assert&#39;
2. Python-Standardausnahmen und benutzerdefinierte Ausnahmen

  • Standardausnahmen

    • In Python integrierte Ausnahmen werden vor dem Programm generiert ausgeführt. Existiert bereits

    • Python-Fehler- und Ausnahmekonzepte

  • Benutzerdefinierte Ausnahme:

    • Python erlaubt benutzerdefinierte Ausnahmen, um Ausnahmen zu beschreiben, die nicht an Python beteiligt sind

    • Benutzerdefinierte Ausnahmen müssen die Exception-Klasse erben

    • Benutzerdefinierte Ausnahmen können nur ausgelöst werden aktiv

class CustomError(Exception):
    def __init__(self, info):
        Exception.__init__(self)
        self.message = info
        print id(self)

    def __str__(self):
        return &#39;CustionError:%s&#39; % self.message


try:
    raise CustomError(&#39;test CustomError&#39;)
except CustomError, e:
    print &#39;ErrorInfo:%d,%s&#39; % (id(e), e)


Weitere Artikel zu Python-Fehlern und Ausnahmekonzepten finden Sie auf der chinesischen PHP-Website!


Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Python vs. C: Lernkurven und BenutzerfreundlichkeitPython vs. C: Lernkurven und BenutzerfreundlichkeitApr 19, 2025 am 12:20 AM

Python ist leichter zu lernen und zu verwenden, während C leistungsfähiger, aber komplexer ist. 1. Python -Syntax ist prägnant und für Anfänger geeignet. Durch die dynamische Tippen und die automatische Speicherverwaltung können Sie die Verwendung einfach zu verwenden, kann jedoch zur Laufzeitfehler führen. 2.C bietet Steuerung und erweiterte Funktionen auf niedrigem Niveau, geeignet für Hochleistungsanwendungen, hat jedoch einen hohen Lernschwellenwert und erfordert manuellem Speicher und Typensicherheitsmanagement.

Python vs. C: Speicherverwaltung und KontrollePython vs. C: Speicherverwaltung und KontrolleApr 19, 2025 am 12:17 AM

Python und C haben signifikante Unterschiede in der Speicherverwaltung und -kontrolle. 1. Python verwendet die automatische Speicherverwaltung, basierend auf der Referenzzählung und der Müllsammlung, um die Arbeit von Programmierern zu vereinfachen. 2.C erfordert eine manuelle Speicherverwaltung und liefert mehr Kontrolle, aber die Komplexität und das Fehlerrisiko. Welche Sprache zu wählen sollte, sollte auf Projektanforderungen und Teamtechnologie -Stack basieren.

Python für wissenschaftliches Computer: Ein detailliertes AussehenPython für wissenschaftliches Computer: Ein detailliertes AussehenApr 19, 2025 am 12:15 AM

Zu den Anwendungen von Python im wissenschaftlichen Computer gehören Datenanalyse, maschinelles Lernen, numerische Simulation und Visualisierung. 1.Numpy bietet effiziente mehrdimensionale Arrays und mathematische Funktionen. 2. Scipy erweitert die Numpy -Funktionalität und bietet Optimierungs- und lineare Algebra -Tools. 3.. Pandas wird zur Datenverarbeitung und -analyse verwendet. 4.Matplotlib wird verwendet, um verschiedene Grafiken und visuelle Ergebnisse zu erzeugen.

Python und C: Das richtige Werkzeug findenPython und C: Das richtige Werkzeug findenApr 19, 2025 am 12:04 AM

Ob die Auswahl von Python oder C von den Projektanforderungen abhängt: 1) Python eignet sich aufgrund seiner prägnanten Syntax und reichhaltigen Bibliotheken für schnelle Entwicklung, Datenwissenschaft und Skripten; 2) C ist für Szenarien geeignet, die aufgrund seiner Zusammenstellung und des manuellen Speichermanagements eine hohe Leistung und die zugrunde liegende Kontrolle erfordern, wie z. B. Systemprogrammierung und Spielentwicklung.

Python für Datenwissenschaft und maschinelles LernenPython für Datenwissenschaft und maschinelles LernenApr 19, 2025 am 12:02 AM

Python wird in Datenwissenschaft und maschinellem Lernen häufig verwendet, wobei hauptsächlich auf seine Einfachheit und ein leistungsstarkes Bibliotheksökosystem beruhen. 1) Pandas wird zur Datenverarbeitung und -analyse verwendet, 2) Numpy liefert effiziente numerische Berechnungen, und 3) Scikit-Learn wird für die Konstruktion und Optimierung des maschinellen Lernens verwendet. Diese Bibliotheken machen Python zu einem idealen Werkzeug für Datenwissenschaft und maschinelles Lernen.

Python lernen: Ist 2 Stunden tägliches Studium ausreichend?Python lernen: Ist 2 Stunden tägliches Studium ausreichend?Apr 18, 2025 am 12:22 AM

Ist es genug, um Python für zwei Stunden am Tag zu lernen? Es hängt von Ihren Zielen und Lernmethoden ab. 1) Entwickeln Sie einen klaren Lernplan, 2) Wählen Sie geeignete Lernressourcen und -methoden aus, 3) praktizieren und prüfen und konsolidieren Sie praktische Praxis und Überprüfung und konsolidieren Sie und Sie können die Grundkenntnisse und die erweiterten Funktionen von Python während dieser Zeit nach und nach beherrschen.

Python für die Webentwicklung: SchlüsselanwendungenPython für die Webentwicklung: SchlüsselanwendungenApr 18, 2025 am 12:20 AM

Zu den wichtigsten Anwendungen von Python in der Webentwicklung gehören die Verwendung von Django- und Flask -Frameworks, API -Entwicklung, Datenanalyse und Visualisierung, maschinelles Lernen und KI sowie Leistungsoptimierung. 1. Django und Flask Framework: Django eignet sich für die schnelle Entwicklung komplexer Anwendungen, und Flask eignet sich für kleine oder hochmobile Projekte. 2. API -Entwicklung: Verwenden Sie Flask oder Djangorestframework, um RESTFUFFUPI zu erstellen. 3. Datenanalyse und Visualisierung: Verwenden Sie Python, um Daten zu verarbeiten und über die Webschnittstelle anzuzeigen. 4. Maschinelles Lernen und KI: Python wird verwendet, um intelligente Webanwendungen zu erstellen. 5. Leistungsoptimierung: optimiert durch asynchrones Programmieren, Caching und Code

Python vs. C: Erforschung von Leistung und Effizienz erforschenPython vs. C: Erforschung von Leistung und Effizienz erforschenApr 18, 2025 am 12:20 AM

Python ist in der Entwicklungseffizienz besser als C, aber C ist in der Ausführungsleistung höher. 1. Pythons prägnante Syntax und reiche Bibliotheken verbessern die Entwicklungseffizienz. 2. Die Kompilierungsmerkmale von Compilation und die Hardwarekontrolle verbessern die Ausführungsleistung. Bei einer Auswahl müssen Sie die Entwicklungsgeschwindigkeit und die Ausführungseffizienz basierend auf den Projektanforderungen abwägen.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung