userver: server::handlers::ExceptionWithCode< Code > Class Template Reference
Loading...
Searching...
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)
inlineexplicit
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
staticconstexpr

Definition at line 320 of file exceptions.hpp.


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