diff --git a/language/errors/php7.xml b/language/errors/php7.xml index f2858eb914..5f5e3e71dc 100644 --- a/language/errors/php7.xml +++ b/language/errors/php7.xml @@ -29,10 +29,45 @@ block or a set_exception_handler handler is required. - - A list of Error subclasses can be found in the - error function section of the manual. - + + <classname>Error</classname> hierarchy + + + + Throwable + + + Error + + + ArithmeticError + + + AssertionError + + + DivisionByZeroError + + + ParseError + + + TypeError + + + + + Exception + + + ... + + + + + + + + + + ArithmeticError + ArithmeticError + + + + +
+ &reftitle.intro; + + ArithmeticError is thrown when + an error occurs while performing mathematical operations. In PHP 7.0, + these errors include attempting to perform a bitshift by a negative + amount, and any call to intdiv that would result in a + value outside the possible bounds of an integer. + +
+ + +
+ &reftitle.classsynopsis; + + + + ArithmeticError + + + + + ArithmeticError + + + + extends + Error + + + + + &InheritedMethods; + + + + + +
+
+
+ + diff --git a/language/predefined/assertionerror.xml b/language/predefined/assertionerror.xml new file mode 100644 index 0000000000..2107f4c7f0 --- /dev/null +++ b/language/predefined/assertionerror.xml @@ -0,0 +1,73 @@ + + + + + AssertionError + AssertionError + + + + +
+ &reftitle.intro; + + AssertionError is thrown when + an assertion made via assert fails. + +
+ + +
+ &reftitle.classsynopsis; + + + + AssertionError + + + + + AssertionError + + + + extends + Error + + + + + &InheritedMethods; + + + + + +
+
+
+ + diff --git a/language/predefined/divisionbyzeroerror.xml b/language/predefined/divisionbyzeroerror.xml new file mode 100644 index 0000000000..fab1fa4bfe --- /dev/null +++ b/language/predefined/divisionbyzeroerror.xml @@ -0,0 +1,73 @@ + + + + + DivisionByZeroError + DivisionByZeroError + + + + +
+ &reftitle.intro; + + DivisionByZeroError is thrown + when an attempt is made to divide a number by zero. + +
+ + +
+ &reftitle.classsynopsis; + + + + DivisionByZeroError + + + + + DivisionByZeroError + + + + extends + Error + + + + + &InheritedMethods; + + + + + +
+
+
+ + diff --git a/language/predefined/error.xml b/language/predefined/error.xml new file mode 100644 index 0000000000..d99eba5f28 --- /dev/null +++ b/language/predefined/error.xml @@ -0,0 +1,73 @@ + + + + + Error + Error + + + + +
+ &reftitle.intro; + + Error is the base class for all + internal PHP error exceptions. + +
+ + +
+ &reftitle.classsynopsis; + + + + Error + + + + + Error + + + + implements + Throwable + + + + + &InheritedMethods; + + + + + +
+
+
+ + diff --git a/language/predefined/exception.xml b/language/predefined/exception.xml index 220186728d..bd8406e687 100644 --- a/language/predefined/exception.xml +++ b/language/predefined/exception.xml @@ -16,7 +16,12 @@ &reftitle.intro; Exception is the base class for - all Exceptions. + all Exceptions in PHP 5, and the base class for all user exceptions in PHP + 7. + + + In PHP 7, Exception implements the + Throwable interface. diff --git a/language/predefined/exceptions.xml b/language/predefined/exceptions.xml index e4115db710..a8d92bef0f 100644 --- a/language/predefined/exceptions.xml +++ b/language/predefined/exceptions.xml @@ -13,6 +13,14 @@ &language.predefined.exception; &language.predefined.errorexception; + + &language.predefined.error; + &language.predefined.arithmeticerror; + &language.predefined.assertionerror; + &language.predefined.divisionbyzeroerror; + &language.predefined.parseerror; + &language.predefined.typeerror; + + + ParseError + ParseError + + + + +
+ &reftitle.intro; + + ParseError is thrown when an + error occurs while parsing PHP code, such as when + eval is called. + +
+ + +
+ &reftitle.classsynopsis; + + + + ParseError + + + + + ParseError + + + + extends + Error + + + + + &InheritedMethods; + + + + + +
+
+
+ + diff --git a/language/predefined/throwable.xml b/language/predefined/throwable.xml index 019357bd1d..8a4476a75b 100644 --- a/language/predefined/throwable.xml +++ b/language/predefined/throwable.xml @@ -13,7 +13,7 @@ &reftitle.intro; Throwable is the base interface for any object that - can be thrown via a &throw; statement, including + can be thrown via a &throw; statement in PHP 7, including Error and Exception. diff --git a/language/predefined/typeerror.xml b/language/predefined/typeerror.xml new file mode 100644 index 0000000000..d08061bed7 --- /dev/null +++ b/language/predefined/typeerror.xml @@ -0,0 +1,73 @@ + + + + + TypeError + TypeError + + + + +
+ &reftitle.intro; + + TypeError is thrown when strict + typing is enabled and an invalid argument is given to a function. + +
+ + +
+ &reftitle.classsynopsis; + + + + TypeError + + + + + TypeError + + + + extends + Error + + + + + &InheritedMethods; + + + + + +
+
+
+ + diff --git a/language/predefined/versions.xml b/language/predefined/versions.xml index dedf714cb4..6a571eaf7e 100644 --- a/language/predefined/versions.xml +++ b/language/predefined/versions.xml @@ -7,6 +7,13 @@ + + + + + + +