classes/Errors/ErrorHandlerManager.php
public function handle(Exception $exception)
	{
		if ($this->rethrow) throw $exception;

		foreach ($this->handlers as $index => $handler) {
			try {
				if (is_string($handler)) {
					$handler = $this->resolver->resolve($handler);
					$this->handlers->offsetSet($index, $handler);
				} else if (is_array($handler) && is_string($handler[0])) {
					$handler[0] = $this->resolver->resolve($handler[0]);
					$this->handlers->offsetSet($index, $handler);
				}

				if (!$this->matchesTypehint($handler, $exception)) {
					continue;
				}

				$result = $this->callHandler($handler, $exception);

				if ($result !== null) {
					return $this->makeResponse($result, $exception);
				}
			} catch (Exception $newException) {
				return $this->handle($newException);
			}
		}

		return $this->makeResponse($this->defaultHandler->handle($exception), $exception);
	}
public function handle(Exception $exception)
	{
		if ($this->rethrow) throw $exception;

		foreach ($this->handlers as $index => $handler) {
			try {
				if (is_string($handler)) {
					$handler = $this->resolver->resolve($handler);
					$this->handlers->offsetSet($index, $handler);
				} else if (is_array($handler) && is_string($handler[0])) {
					$handler[0] = $this->resolver->resolve($handler[0]);
					$this->handlers->offsetSet($index, $handler);
				}

				if (!$this->matchesTypehint($handler, $exception)) {
					continue;
				}

				$result = $this->callHandler($handler, $exception);

				if ($result !== null) {
					return $this->makeResponse($result, $exception);
				}
			} catch (Exception $newException) {
				return $this->handle($newException);
			}
		}

		return $this->makeResponse($this->defaultHandler->handle($exception), $exception);
	}
public function handle ( Exception $ exception ) { if ( $ this -> rethrow ) throw $ exception ; foreach ( $ this -> handlers as $ index => $ handler ) { try { if ( is_string ( $ handler ) ) { $ handler = $ this -> resolver -> resolve ( $ handler ) ; $ this -> handlers -> offsetSet ( $ index , $ handler ) ; } else if ( is_array ( $ handler ) && is_string ( $ handler [ 0 ] ) ) { $ handler [ 0 ] = $ this -> resolver -> resolve ( $ handler [ 0 ] ) ; $ this -> handlers -> offsetSet ( $ index , $ handler ) ; } if ( ! $ this -> matchesTypehint ( $ handler , $ exception ) ) { continue ; } $ result = $ this -> callHandler ( $ handler , $ exception ) ; if ( $ result !== null ) { return $ this -> makeResponse ( $ result , $ exception ) ; } } catch ( Exception $ newException ) { return $ this -> handle ( $ newException ) ; } } return $ this -> makeResponse ( $ this -> defaultHandler -> handle ( $ exception ) , $ exception ) ; }
{@inheritdoc}
{