public static function emitError(
        TransactionInterface $transaction,
        \Exception $e,
        array $stats = []
    ) {
        $request = $transaction->getRequest();

        // Convert non-request exception to a wrapped exception
        if (!($e instanceof RequestException)) {
            $e = new RequestException($e->getMessage(), $request, null, $e);
        }

        // Mark the exception as having been emitted for an error event. This
        // works in tandem with the emitBefore method to prevent the error
        // event from being triggered twice for the same exception.
        $e->emittedError(true);

        // Dispatch an event and allow interception
        if (!$request->getEmitter()->emit(
            'error',
            new ErrorEvent($transaction, $e, $stats)
        )->isPropagationStopped()) {
            throw $e;
        }
    }
public static function emitError(
        TransactionInterface $transaction,
        \Exception $e,
        array $stats = []
    ) {
        $request = $transaction->getRequest();

        // Convert non-request exception to a wrapped exception
        if (!($e instanceof RequestException)) {
            $e = new RequestException($e->getMessage(), $request, null, $e);
        }

        // Mark the exception as having been emitted for an error event. This
        // works in tandem with the emitBefore method to prevent the error
        // event from being triggered twice for the same exception.
        $e->emittedError(true);

        // Dispatch an event and allow interception
        if (!$request->getEmitter()->emit(
            'error',
            new ErrorEvent($transaction, $e, $stats)
        )->isPropagationStopped()) {
            throw $e;
        }
    }
public static function emitError ( TransactionInterface $ transaction , \ Exception $ e , array $ stats = [ ] ) { $ request = $ transaction -> getRequest ( ) ; // Convert non-request exception to a wrapped exception if ( ! ( $ e instanceof RequestException ) ) { $ e = new RequestException ( $ e -> getMessage ( ) , $ request , null , $ e ) ; } // Mark the exception as having been emitted for an error event. This // works in tandem with the emitBefore method to prevent the error // event from being triggered twice for the same exception. $ e -> emittedError ( true ) ; // Dispatch an event and allow interception if ( ! $ request -> getEmitter ( ) -> emit ( 'error' , new ErrorEvent ( $ transaction , $ e , $ stats ) ) -> isPropagationStopped ( ) ) { throw $ e ; } }
Emits an error event for a request and accounts for the propagation
of an error event being stopped to prevent the exception from being
thrown.

@param TransactionInterface $transaction
@param \Exception           $e
@param array                $stats

@throws \GuzzleHttp\Exception\RequestException
Emits an error event for a request and accounts for the propagation of an error event being stopped to prevent the exception from being thrown .