Botan 3.6.1
Crypto and TLS for C&
Botan::System_Error Class Reference

#include <exceptn.h>

Inheritance diagram for Botan::System_Error:
Botan::Exception

Public Member Functions

int error_code () const noexcept override
 
ErrorType error_type () const noexcept override
 
 System_Error (std::string_view msg)
 
 System_Error (std::string_view msg, int err_code)
 
const char * what () const noexcept override
 

Detailed Description

System_Error

This exception is thrown in the event of an error related to interacting with the operating system.

This exception type also (optionally) captures an integer error code eg POSIX errno or Windows GetLastError.

Definition at line 304 of file exceptn.h.

Constructor & Destructor Documentation

◆ System_Error() [1/2]

Botan::System_Error::System_Error ( std::string_view msg)
inline

Definition at line 306 of file exceptn.h.

306: Exception(msg), m_error_code(0) {}
Exception(std::string_view msg)
Definition exceptn.cpp:71

◆ System_Error() [2/2]

Botan::System_Error::System_Error ( std::string_view msg,
int err_code )

Definition at line 137 of file exceptn.cpp.

137 :
138 Exception(fmt("{} error code {}", msg, err_code)), m_error_code(err_code) {}
std::string fmt(std::string_view format, const T &... args)
Definition fmt.h:53

Member Function Documentation

◆ error_code()

int Botan::System_Error::error_code ( ) const
inlineoverridevirtualnoexcept

Return an error code associated with this exception, or otherwise 0.

The domain of this error varies depending on the source, for example on POSIX systems it might be errno, while on a Windows system it might be the result of GetLastError or WSAGetLastError.

Reimplemented from Botan::Exception.

Definition at line 312 of file exceptn.h.

312{ return m_error_code; }

◆ error_type()

ErrorType Botan::System_Error::error_type ( ) const
inlineoverridevirtualnoexcept

Return the "type" of error which occurred.

Reimplemented from Botan::Exception.

Definition at line 310 of file exceptn.h.

◆ what()

const char * Botan::Exception::what ( ) const
inlineoverridenoexceptinherited

Return a descriptive string which is hopefully comprehensible to a developer. It will likely not be useful for an end user.

The string has no particular format, and the content of exception messages may change from release to release. Thus the main use of this function is for logging or debugging.

Definition at line 93 of file exceptn.h.

93{ return m_msg.c_str(); }

Referenced by Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), Botan_FFI::ffi_guard_thunk(), Botan::TLS::Callbacks::tls_ephemeral_key_agreement(), Botan::TLS::Callbacks::tls_kem_encapsulate(), and Botan::X509_Certificate::to_string().


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