From 889e9655185213fc4acd56c6000f6b94e76cc2f8 Mon Sep 17 00:00:00 2001 From: Gasol Wu Date: Wed, 27 Feb 2019 22:09:41 +0800 Subject: [PATCH] Fix bad exit status 255 generated by uncaught TypeError The error_get_last function returns NULL if there hasn't been an error yet, And the exit status 255 is reserved by PHP and shall be used when fatal error occurred. PHP Fatal error: Uncaught TypeError: Return value of TheSeer\phpDox\ErrorHandler::getLastError() must be of the type array, null returned in /net/enterprise-data1/home/ad min/gasolwu/Code/phpdox/src/shared/ErrorHandler.php:147 Stack trace: #0 /net/enterprise-data1/home/admin/gasolwu/Code/phpdox/src/shared/ErrorHandler.php(55): TheSeer\phpDox\ErrorHandler->getLastError() #1 [internal function]: TheSeer\phpDox\ErrorHandler->handleShutdown() #2 {main} thrown in /net/enterprise-data1/home/admin/gasolwu/Code/phpdox/src/shared/ErrorHandler.php on line 147 References: - https://secure.php.net/exit - https://secure.php.net/error_get_last --- src/shared/ErrorHandler.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/ErrorHandler.php b/src/shared/ErrorHandler.php index 3909e57f..5102cabd 100644 --- a/src/shared/ErrorHandler.php +++ b/src/shared/ErrorHandler.php @@ -140,7 +140,7 @@ private function renderException($exception): void { private function getLastError(): array { $error = \error_get_last(); - if ($error && $error['type'] === \E_USER_NOTICE) { + if ($error === null || $error['type'] === \E_USER_NOTICE) { return []; }