Comparison of exception and error handling in PHP7 with previous versions
First code
1 2 3 4 5 6 7 8 9 10 11 12 13 | ECHO PHP_VERSION.PHP_EOL;
function add (int $left ,int $right ){
return $left + $right ;
}
try {
echo add('left', 'right');
} catch (Exception $e ) {
} catch (Error $e ) {
var_dump( $e ->getMessage());
}
echo PHP_EOL. "helloword" .PHP_EOL;
|
Copy after login
PHP v5.6.1 result
1 2 3 4 | 5.6.1
PHP Catchable fatal error: Argument 1 passed to add() must be an instance of int, string given, called in C:\usertb\shareubuntu\Workerman\fortest.php on line 8 and defined in C:\usertb\shareubuntu\Workerman\fortest.php on line 3
Catchable fatal error: Argument 1 passed to add() must be an instance of int, string given, called in C:\usertb\shareubuntu\Workerman\fortest.php on line 8 and defined in C:\usertb\shareubuntu\Workerman\fortest.php on line 3
[Finished in 0.0s]
|
Copy after login
PHP v7.0.15 result
1 2 3 | 7.0.15-0ubuntu0.16.04.4
string(131) "Argument 1 passed to add() must be of the type integer, string given, called in /home/tb/win10share/Workerman/fortest.php on line 8"
helloword
|
Copy after login
Difference
The latter can capture fatal errors and can output helloword normally
The above is the detailed content of Comparison of exception and error handling in PHP7 with previous versions. For more information, please follow other related articles on the PHP Chinese website!