def METHOD_NAME(
        config_path: str,
        exception_type: Type[Exception] = ValueError
) -> Dict[str, Any]:
    try:
        config_dict = _load_json_or_yaml_config(config_path)
        LOG.info(f'Configuration loaded: {config_path}')
    except FileNotFoundError as e:
        raise exception_type(
            f'Cannot find configuration {config_path!r}'
        ) from e
    except yaml.YAMLError as e:
        raise exception_type(
            f'YAML in {config_path!r} is invalid: {e}'
        ) from e
    except OSError as e:
        raise exception_type(
            f'Cannot load configuration from'
            f' {config_path!r}: {e}'
        ) from e
    if config_dict is None:
        return {}
    if not isinstance(config_dict, dict):
        raise exception_type(
            f'Invalid configuration format in'
            f' {config_path!r}: dictionary expected'
        )
    return config_dict