Ab PHP7 wurde Fehler eingeführt und einige integrierte Fehler wurden definiert. Hier fassen wir einige der definierten integrierten Fehler zusammen, die als Datensatz betrachtet werden können.
ArithmeticError: Fehlerunterklasse, die ausgelöst wird, wenn bei mathematischen Operationen ein Fehler auftritt. Zu diesen Fehlern in PHP7 gehören die Durchführung negativer Verschiebungsoperationen und der Aufruf von intp(), was zu Werten außerhalb des Ganzzahlbereichs führt.
AssertionError: Fehlerunterklasse, löst eine Ausnahme aus, wenn die durch Assertion ausgegebene Assertion fehlschlägt. Nur wenn ini zend.assertions und Assert.Exception auf 1 setzt und Assertionen aktiviert sind, wird bei der Ausführung von Assertion() eine AssertionError-Ausnahme ausgelöst, die den Wert false hat.
ParseError: Fehler-Unterklasse, die eine Ausnahme auslöst, wenn beim Parsen von PHP-Code ein Fehler auftritt.
TypeError: Fehler der Unterklasse, wenn der an eine Funktion übergebene Parametertyp nicht mit dem entsprechenden deklarierten Parametertyp übereinstimmt; der von der Funktion zurückgegebene Wert stimmt nicht mit dem deklarierten Funktionsrückgabetyp überein und eine ungültige Anzahl von Parametern wird im strikten Modus übergeben Bei der Angabe der integrierten PHP-Funktion wird eine Ausnahme ausgelöst.
pisionByZeroError: ArithmeticError-Unterklasse, löst eine Ausnahme von intp() aus, wenn der Nenner 0 ist oder wenn 0 als Modulo-Operator (%) verwendet wird. Die Verwendung von 0 im Divisionsoperator (/) gibt nur eine Warnung aus und das Ergebnis ist NAN, wenn der Zähler 0 ist, und INF, wenn der Zähler ungleich Null ist.
ArgumentCountError: Seit PHP7.1 löst eine TypeError-Unterklasse eine Ausnahme aus, wenn die Anzahl der an eine benutzerdefinierte Funktion oder Methode übergebenen Parameter geringer ist als die definierte Anzahl von Parametern.
<?php declare(strict_types=1); function foo(string $arg){ return 'test' . $arg;; } function testArithmeticError(){ try { $value = 1 << -1; } catch (ArithmeticError $e) { echo 'show ArithmeticError:'; echo $e->getMessage(); } } function testAssertionError(){ ini_set('zend.assertions', 1); ini_set('assert.exception', 1); try { assert(1>2); } catch (AssertionError $e) { echo 'show AssertionError:'; echo $e->getMessage(); } } function testParseError(){ try { eval('asset(1>2)'); } catch (ParseError $e) { echo 'show ParseError:'; echo $e->getMessage(); } } function testTypeError(){ try { foo(123); } catch (TypeError $e) { echo 'show TypeError:'; echo $e->getMessage(); } } function testpisionByZeroError(){ try{ 1%0; }catch(pisionByZeroError $e){ echo 'show pisionByZeroError:'; echo $e->getMessage(); } } function testArgumentCountError(){ try{ foo(); }catch(ArgumentCountError $e){ echo 'show ArgumentCountError:'; echo $e->getMessage(); } } //foo("ArithmeticError")(); //foo("AssertionError")(); //foo("ParseError")(); //foo("TypeError")(); //foo("pisionByZeroError")(); //foo("ArgumentCountError")(); ?>
Verwandte Empfehlungen:
Fehlerstufe in PHP, PHP-Fehlerstufe_PHP-Tutorial
Das obige ist der detaillierte Inhalt vonEinige in PHP definierte integrierte Fehler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!