當前位置: 首頁>>代碼示例>>PHP>>正文


PHP ErrorHandler::setExceptionHandler方法代碼示例

本文整理匯總了PHP中Symfony\Component\Debug\ErrorHandler::setExceptionHandler方法的典型用法代碼示例。如果您正苦於以下問題:PHP ErrorHandler::setExceptionHandler方法的具體用法?PHP ErrorHandler::setExceptionHandler怎麽用?PHP ErrorHandler::setExceptionHandler使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Symfony\Component\Debug\ErrorHandler的用法示例。


在下文中一共展示了ErrorHandler::setExceptionHandler方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testConsoleEvent

 public function testConsoleEvent()
 {
     $dispatcher = new EventDispatcher();
     $listener = new DebugHandlersListener(null);
     $app = $this->getMock('Symfony\\Component\\Console\\Application');
     $app->expects($this->once())->method('getHelperSet')->will($this->returnValue(new HelperSet()));
     $command = new Command(__FUNCTION__);
     $command->setApplication($app);
     $event = new ConsoleEvent($command, new ArgvInput(), new ConsoleOutput());
     $dispatcher->addSubscriber($listener);
     $xListeners = array(KernelEvents::REQUEST => array(array($listener, 'configure')), ConsoleEvents::COMMAND => array(array($listener, 'configure')));
     $this->assertSame($xListeners, $dispatcher->getListeners());
     $exception = null;
     $eHandler = new ErrorHandler();
     set_error_handler(array($eHandler, 'handleError'));
     set_exception_handler(array($eHandler, 'handleException'));
     try {
         $dispatcher->dispatch(ConsoleEvents::COMMAND, $event);
     } catch (\Exception $exception) {
     }
     restore_exception_handler();
     restore_error_handler();
     if (null !== $exception) {
         throw $exception;
     }
     $xHandler = $eHandler->setExceptionHandler('var_dump');
     $this->assertInstanceOf('Closure', $xHandler);
     $app->expects($this->once())->method('renderException');
     $xHandler(new \Exception());
 }
開發者ID:scrobot,項目名稱:Lumen,代碼行數:30,代碼來源:DebugHandlersListenerTest.php

示例2: testConfigure

 public function testConfigure()
 {
     $logger = $this->getMock('Psr\\Log\\LoggerInterface');
     $userHandler = function () {
     };
     $listener = new DebugHandlersListener($userHandler, $logger);
     $xHandler = new ExceptionHandler();
     $eHandler = new ErrorHandler();
     $eHandler->setExceptionHandler(array($xHandler, 'handle'));
     $exception = null;
     set_error_handler(array($eHandler, 'handleError'));
     set_exception_handler(array($eHandler, 'handleException'));
     try {
         $listener->configure();
     } catch (\Exception $exception) {
     }
     restore_exception_handler();
     restore_error_handler();
     if (null !== $exception) {
         throw $exception;
     }
     $this->assertSame($userHandler, $xHandler->setHandler('var_dump'));
     $loggers = $eHandler->setLoggers(array());
     $this->assertArrayHasKey(E_DEPRECATED, $loggers);
     $this->assertSame(array($logger, LogLevel::INFO), $loggers[E_DEPRECATED]);
 }
開發者ID:alexbogo,項目名稱:symfony,代碼行數:26,代碼來源:DebugHandlersListenerTest.php

示例3: testHandleErrorException

 /**
  * @requires PHP 7
  */
 public function testHandleErrorException()
 {
     $exception = new \Error("Class 'Foo' not found");
     $handler = new ErrorHandler();
     $handler->setExceptionHandler(function () use(&$args) {
         $args = func_get_args();
     });
     $handler->handleException($exception);
     $this->assertInstanceOf('Symfony\\Component\\Debug\\Exception\\ClassNotFoundException', $args[0]);
     $this->assertStringStartsWith("Attempted to load class \"Foo\" from the global namespace.\nDid you forget a \"use\" statement", $args[0]->getMessage());
 }
開發者ID:levanigongadze,項目名稱:Labweb,代碼行數:14,代碼來源:ErrorHandlerTest.php


注:本文中的Symfony\Component\Debug\ErrorHandler::setExceptionHandler方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。