def error_handler()

in fbpcp/decorator/error_handler.py [0:0]


def error_handler(f: Callable) -> Callable:
    @functools.wraps(f)
    def wrapper(*args, **kwargs):
        try:
            return f(*args, **kwargs)
        except PcpError as err:
            raise err from None
        # AWS Error
        except ClientError as err:
            raise map_aws_error(err) from None
        # GCP Error
        except GoogleCloudError as err:
            raise map_gcp_error(err) from None
        except OpenApiException as err:
            raise map_k8s_error(err) from None
        except Exception as err:
            raise PcpError(err) from None

    return wrapper