Core/src/GrpcRequestWrapper.php
private function convertToGoogleException($ex)
    {
        switch ($ex->getCode()) {
            case Code::INVALID_ARGUMENT:
                $exception = Exception\BadRequestException::class;
                break;

            case Code::NOT_FOUND:
            case Code::UNIMPLEMENTED:
                $exception = Exception\NotFoundException::class;
                break;

            case Code::ALREADY_EXISTS:
                $exception = Exception\ConflictException::class;
                break;

            case Code::FAILED_PRECONDITION:
                $exception = Exception\FailedPreconditionException::class;
                break;

            case Code::UNKNOWN:
                $exception = Exception\ServerException::class;
                break;

            case Code::INTERNAL:
                $exception = Exception\ServerException::class;
                break;

            case Code::ABORTED:
                $exception = Exception\AbortedException::class;
                break;

            case Code::DEADLINE_EXCEEDED:
                $exception = Exception\DeadlineExceededException::class;
                break;

            default:
                $exception = Exception\ServiceException::class;
                break;
        }

        $metadata = [];
        if ($ex->getMetadata()) {
            foreach ($ex->getMetadata() as $type => $binaryValue) {
                if (!isset($this->metadataTypes[$type])) {
                    continue;
                }
                $metadataElement = new $this->metadataTypes[$type];
                $metadataElement->mergeFromString($binaryValue[0]);
                $metadata[] = $this->serializer->encodeMessage($metadataElement);
            }
        }

        return new $exception($ex->getMessage(), $ex->getCode(), $ex, $metadata);
    }
private function convertToGoogleException($ex)
    {
        switch ($ex->getCode()) {
            case Code::INVALID_ARGUMENT:
                $exception = Exception\BadRequestException::class;
                break;

            case Code::NOT_FOUND:
            case Code::UNIMPLEMENTED:
                $exception = Exception\NotFoundException::class;
                break;

            case Code::ALREADY_EXISTS:
                $exception = Exception\ConflictException::class;
                break;

            case Code::FAILED_PRECONDITION:
                $exception = Exception\FailedPreconditionException::class;
                break;

            case Code::UNKNOWN:
                $exception = Exception\ServerException::class;
                break;

            case Code::INTERNAL:
                $exception = Exception\ServerException::class;
                break;

            case Code::ABORTED:
                $exception = Exception\AbortedException::class;
                break;

            case Code::DEADLINE_EXCEEDED:
                $exception = Exception\DeadlineExceededException::class;
                break;

            default:
                $exception = Exception\ServiceException::class;
                break;
        }

        $metadata = [];
        if ($ex->getMetadata()) {
            foreach ($ex->getMetadata() as $type => $binaryValue) {
                if (!isset($this->metadataTypes[$type])) {
                    continue;
                }
                $metadataElement = new $this->metadataTypes[$type];
                $metadataElement->mergeFromString($binaryValue[0]);
                $metadata[] = $this->serializer->encodeMessage($metadataElement);
            }
        }

        return new $exception($ex->getMessage(), $ex->getCode(), $ex, $metadata);
    }
private function convertToGoogleException ( $ ex ) { switch ( $ ex -> getCode ( ) ) { case Code :: INVALID_ARGUMENT : $ exception = Exception \ BadRequestException :: class ; break ; case Code :: NOT_FOUND : case Code :: UNIMPLEMENTED : $ exception = Exception \ NotFoundException :: class ; break ; case Code :: ALREADY_EXISTS : $ exception = Exception \ ConflictException :: class ; break ; case Code :: FAILED_PRECONDITION : $ exception = Exception \ FailedPreconditionException :: class ; break ; case Code :: UNKNOWN : $ exception = Exception \ ServerException :: class ; break ; case Code :: INTERNAL : $ exception = Exception \ ServerException :: class ; break ; case Code :: ABORTED : $ exception = Exception \ AbortedException :: class ; break ; case Code :: DEADLINE_EXCEEDED : $ exception = Exception \ DeadlineExceededException :: class ; break ; default : $ exception = Exception \ ServiceException :: class ; break ; } $ metadata = [ ] ; if ( $ ex -> getMetadata ( ) ) { foreach ( $ ex -> getMetadata ( ) as $ type => $ binaryValue ) { if ( ! isset ( $ this -> metadataTypes [ $ type ] ) ) { continue ; } $ metadataElement = new $ this -> metadataTypes [ $ type ] ; $ metadataElement -> mergeFromString ( $ binaryValue [ 0 ] ) ; $ metadata [ ] = $ this -> serializer -> encodeMessage ( $ metadataElement ) ; } } return new $ exception ( $ ex -> getMessage ( ) , $ ex -> getCode ( ) , $ ex , $ metadata ) ; }
Convert a ApiCore exception to a Google Exception.

@param ApiException|GaxApiException $ex
@return Exception\ServiceException
Convert a ApiCore exception to a Google Exception .