123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- /*
- * This file is part of Composer.
- *
- * (c) Nils Adermann <naderman@naderman.de>
- * Jordi Boggiano <j.boggiano@seld.be>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Composer\Util;
- /**
- * Convert PHP errors into exceptions
- *
- * @author Artem Lopata <biozshock@gmail.com>
- */
- class ErrorHandler
- {
- /**
- * Error handler
- *
- * @param int $level Level of the error raised
- * @param string $message Error message
- * @param string $file Filename that the error was raised in
- * @param int $line Line number the error was raised at
- *
- * @static
- * @throws \ErrorException
- */
- public static function handle($level, $message, $file, $line)
- {
- // respect error_reporting being disabled
- if (!error_reporting()) {
- return;
- }
- if (ini_get('xdebug.scream')) {
- $message .= "\n\nWarning: You have xdebug.scream enabled, the warning above may be".
- "\na legitimately suppressed error that you were not supposed to see.";
- }
- throw new \ErrorException($message, 0, $level, $file, $line);
- }
- /**
- * Register error handler
- *
- * @static
- */
- public static function register()
- {
- set_error_handler(array(__CLASS__, 'handle'));
- }
- }
|