Heim > Backend-Entwicklung > PHP-Tutorial > Ein Crash -Kurs von Änderungen zur Ausnahmehandhabung in PHP 7

Ein Crash -Kurs von Änderungen zur Ausnahmehandhabung in PHP 7

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2025-02-10 09:57:09
Original
979 Leute haben es durchsucht

A Crash Course of Changes to Exception Handling in PHP 7

Hauptverbesserungen bei der Handhabung von PHP 7 Ausnahme

Php 7 hat signifikante Verbesserungen für die Ausnahmebehandlung vorgenommen, wodurch die Grenzfläche Throwable und Error Klasse eingeführt wird, die die Funktionen der Fehlerbehandlung erheblich verbessert. Die Throwable -Schinschnittstelle ist die Basisschnittstelle der Klassen Exception und Error, sodass Entwickler alle geworschbaren Fehler fangen können, unabhängig davon, ob Ausnahmen oder Fehler. Die Error -Klasses behandelt verschiedene interne PHP -Fehler, einschließlich tödlicher und Typfehler, und wird in vier Unterklassen unterteilt: ArithmeticError, TypeError, ParseError, AssertionError und

.

A Crash Course of Changes to Exception Handling in PHP 7

Throwable Schnittstelle

Die Schnittstelle Throwable Exception ist die übergeordnete Schnittstelle der Klassen Error und

, sodass Sie irgendwelche Throwable -Fehler fangen können, unabhängig davon, ob es sich um eine Ausnahme oder ein Fehler handelt. Zum Beispiel:
<?php try {
    throw new Exception("这是一个异常");
} catch (Throwable $e) {
    echo $e->getMessage();
}
Nach dem Login kopieren

ParseError oder neu

:
<?php try {
    $result = eval("2*'7'");
} catch (Throwable $e) {
    echo $e->getMessage();
}
Nach dem Login kopieren

ParseError Führen Sie diesen Code aus, um ein eval() zu erhalten, da das Semikolon in

fehlt.

Throwable benutzerdefinierte Klassen können nicht direkt Throwable implementiert werden, sondern müssen die Exception -Klasse verlängern, die das

-Schinschnittstellen implementiert.

Error Kategorie

Error

Klasse behandelt interne PHP -Fehler (tödlicher Fehler oder Typfehler). Es hat vier Unterklassen:
  1. ArithmeticError
  2. : arithmetischer Fehler, wie das Teilen durch Null.
  3. TypeError
  4. : Typ Fehler, z. B. die Zuweisung des Werts des falschen Typs einer Variablen.
  5. ParseError
  6. : Parsenfehler wie Syntaxfehler.
  7. AssertionError assert(): Behauptungsfehler, geworfen, wenn die Bedingung in der Funktion
  8. falsch ist.

Error Vor dem Upgrade auf Php 7 muss ein benutzerdefinierter

-Klasses definiert werden, sein Name muss geändert werden, andernfalls tritt ein tödlicher Fehler auf.

ArithmeticError

intdiv() Dieser Fehler tritt bei der Ausführung mathematischer Operationen auf. Verwenden Sie beispielsweise

:
<?php try {
    var_dump(intdiv(PHP_INT_MIN, -1));
} catch (ArithmeticError $e) {
    echo $e->getMessage();
}
Nach dem Login kopieren

Erhält den Fehler "" von -1 DivisionByZeroError ". ArithmeticError ist eine Unterklasse von

und wird bei geteiltem Nullpunkt geworfen.

TypeError

Dieser Fehler hängt hauptsächlich mit der Skalartyp -Deklaration in Php 7 zusammen. Dieser Fehler wird angezeigt, wenn Sie eine Funktion oder Variable eines bestimmten Datentyps erstellen und versuchen, Werte für verschiedene Datentypen zu speichern.

ParseError

eval() Dieser Fehler wird bei Verwendung von

zum Einfügen einer neuen Codezeile oder zur Verwendung einer externen PHP -Datei mit einem Syntaxfehler geworfen.

AssertionError

Dieser Fehler wird nur geworfen, wenn die Behauptung in der Funktion assert() fehlschlägt. Die Anweisungen php.ini und assert.exception müssen in zend.assertions konfiguriert werden, um diesen Fehler zu fangen.

Zusammenfassung

Die in PHP 7 eingeführte Schnittstelle und Throwable -Klasse vereinfachen die Ausnahmeregelung und erleichtern die Handhabung verschiedener Fehlertypen. Achten Sie beim Upgrade auf PHP 7 auf die Benennung von Problemen mit benutzerdefinierten Error -Klassen und vertrauen Sie mit neuen Fehlern und erweiterten Klassen. Error

FAQs (FAQs)

  • Was sind die Hauptänderungen bei der Handhabung von PHP 7? php 7 führt die Grenzfläche und Throwable vor, und alle Fehler können als Ausnahmen behandelt und mit dem Error -Block erfasst werden. try/catch

  • Wie funktioniert die Schnittstelle? Throwable ist die Basisschnittstelle für alle Ausnahmen, die durch Throwable und Exception implementiert werden. Error

  • Was ist die Funktion der Klasse? Error Klasse wird verwendet, um interne PHP -Fehler zu behandeln. Error

  • Wie kann ich mit Ausnahmen in Php 7 umgehen? Verwenden Sie den -Block, um die Objekte try/catch, Throwable und Exception zu erfassen. Error

  • Was ist der Unterschied zwischen
  • und Exception? Error Für traditionelle Ausnahmen Exception für interne PHP -Fehler. Error

  • Wie kann man eine Ausnahme in Php 7 auswerfen? Verwenden Sie das Schlüsselwort . throw

  • Wie erstelle ich eine benutzerdefinierte Ausnahme in Php 7? Erweiterung Klasse. Exception

  • Was ist die Funktion von Schlüsselwörtern? finally Der Code im -Block wird unabhängig davon ausgeführt, ob die Ausnahme ausgelöst wird oder nicht. finally

  • Wie kann man eine Ausnahme in Php 7 wiederwischen? Verwenden Sie das Schlüsselwort im Block catch. throw

  • Wie behandle ich mehrere Ausnahmen in Php 7? In der -Anweisung mehrere try/catch Blöcke einbeziehen. catch

Das obige ist der detaillierte Inhalt vonEin Crash -Kurs von Änderungen zur Ausnahmehandhabung in PHP 7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage