Botan 2.19.5 Crypto and TLS for C&

Public Member Functions | List of all members
Botan::System_Error Class Reference

`#include <exceptn.h>`

Inheritance diagram for Botan::System_Error:

## Public Member Functions
int | error_code () const noexcept override
ErrorType | error_type () const noexcept override
| System_Error (const std::string &msg)
| System_Error (const std::string &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 323 of file exceptn.h.

## Constructor & Destructor Documentation

## ◆ System_Error() [1/2]

Botan::System_Error::System_Error | ( | const std::string & | msg | ) |
| inline

Definition at line 326 of file exceptn.h.

326: Exception(msg), m_error_code(0) {}
Botan::Exception::Exception
Exception(const std::string &msg)
Definition: exceptn.cpp:73

## ◆ System_Error() [2/2]

Botan::System_Error::System_Error | ( | const std::string & | msg,
|  | int | err_code
| ) |  |

Definition at line 170 of file exceptn.cpp.

170 :
171 Exception(msg + " error code " + std::to_string(err_code)),
172 m_error_code(err_code)
173 {}
Botan::to_string
std::string to_string(ErrorType type)
Convert an ErrorType to string.
Definition: exceptn.cpp:11

## Member Function Documentation

## ◆ error_code()

int Botan::System_Error::error_code | ( |  | ) | const
| inline override virtual noexcept

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. For error_type() is OpenSSLError, it will (if nonzero) be an OpenSSL error code from ERR_get_error.

Reimplemented from Botan::Exception.

Definition at line 332 of file exceptn.h.

332{ return m_error_code; }

## ◆ error_type()

ErrorType Botan::System_Error::error_type | ( |  | ) | const
| inline override virtual noexcept

Return the "type" of error which occurred.

Reimplemented from Botan::Exception.

Definition at line 330 of file exceptn.h.

330{ return ErrorType::SystemError; }
Botan::ErrorType::SystemError
@ SystemError

References Botan::SystemError.

## ◆ what()

const char * Botan::Exception::what | ( |  | ) | const
| inline override noexcept inherited

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 96 of file exceptn.h.

96{ return m_msg.c_str(); }

Referenced by Botan::TLS::Client_Key_Exchange::Client_Key_Exchange(), and Botan_FFI::ffi_guard_thunk().

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

- src/lib/utils/exceptn.h
- src/lib/utils/exceptn.cpp