userver: userver/utils/exception.hpp Source File
Loading...
Searching...
No Matches
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