userver: server::handlers::ExceptionWithCode< Code > Class Template Reference
No Matches
server::handlers::ExceptionWithCode< Code > Class Template Reference

#include <userver/server/handlers/exceptions.hpp>

Detailed Description

template<HandlerErrorCode Code>
class server::handlers::ExceptionWithCode< Code >

Base class for handler exceptions. For common HandlerErrorCode values you can use more specific exception classes below. For less common HandlerErrorCode values, this class can be used directly.

Definition at line 318 of file exceptions.hpp.

+ Inheritance diagram for server::handlers::ExceptionWithCode< Code >:
+ Collaboration diagram for server::handlers::ExceptionWithCode< Code >:

Public Types

using BaseType = ExceptionWithCode<kDefaultCode>
- Public Types inherited from server::handlers::CustomHandlerException
using HandlerErrorCode = handlers::HandlerErrorCode
using ServiceErrorCode = handlers::ServiceErrorCode
using InternalMessage = handlers::InternalMessage
using ExternalBody = handlers::ExternalBody
using ExtraHeaders = handlers::ExtraHeaders

Public Member Functions

 ExceptionWithCode (const ExceptionWithCode< Code > &)=default
 ExceptionWithCode (ExceptionWithCode< Code > &&) noexcept=default
template<typename... Args>
 ExceptionWithCode (Args &&... args)
- Public Member Functions inherited from server::handlers::CustomHandlerException
template<typename... Args>
 CustomHandlerException (HandlerErrorCode handler_code, Args &&... args)
 Construct manually from a set of (mostly optional) arguments, which describe the error details.
 CustomHandlerException (HandlerErrorCode handler_code)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 CustomHandlerException (ServiceErrorCode service_code, ExternalBody external_body, InternalMessage internal_message, HandlerErrorCode handler_code, ExtraHeaders headers={}, formats::json::Value details={})
template<typename MessageBuilder , typename = std::enable_if_t<impl::kIsMessageBuilder<MessageBuilder>>>
 CustomHandlerException (MessageBuilder &&builder, HandlerErrorCode handler_code)
HandlerErrorCode GetCode () const
const std::string & GetServiceCode () const
bool IsExternalErrorBodyFormatted () const
const std::string & GetExternalErrorBody () const
const formats::json::ValueGetDetails () const
const Headers & GetExtraHeaders () const

Static Public Attributes

static constexpr HandlerErrorCode kDefaultCode = Code

Member Typedef Documentation

◆ BaseType

template<HandlerErrorCode Code>
using server::handlers::ExceptionWithCode< Code >::BaseType = ExceptionWithCode<kDefaultCode>

Definition at line 321 of file exceptions.hpp.

Constructor & Destructor Documentation

◆ ExceptionWithCode()

template<HandlerErrorCode Code>
template<typename... Args>
server::handlers::ExceptionWithCode< Code >::ExceptionWithCode ( Args &&... args)
See also
CustomHandlerException::CustomHandlerException for allowed args

Definition at line 328 of file exceptions.hpp.

Member Data Documentation

◆ kDefaultCode

template<HandlerErrorCode Code>
constexpr HandlerErrorCode server::handlers::ExceptionWithCode< Code >::kDefaultCode = Code

Definition at line 320 of file exceptions.hpp.

The documentation for this class was generated from the following file: