userver: userver/utils/exception.hpp Source File
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
exception.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/utils/exception.hpp
4/// @brief @copybrief utils::LogErrorAndThrow
5
6#include <stdexcept>
7#include <string>
8
9#include <userver/logging/log.hpp>
10
11USERVER_NAMESPACE_BEGIN
12
13namespace utils {
14
15/// @brief Logs error_message and throws an exception ith that message
16template <typename T = std::runtime_error>
17[[noreturn]] void LogErrorAndThrow(const std::string& error_message) {
18 LOG_ERROR() << error_message;
19 throw T(error_message);
20}
21
22} // namespace utils
23
24USERVER_NAMESPACE_END