mirror of
https://github.com/boostorg/openmethod.git
synced 2026-01-19 16:32:12 +00:00
53 lines
1.2 KiB
Plaintext
53 lines
1.2 KiB
Plaintext
|
|
## default_error_handler
|
|
|
|
### Synopsis
|
|
|
|
Defined in <boost/openmethod/policies/default_error_handler.hpp>.
|
|
|
|
```c++
|
|
namespace boost::openmethod::policies {
|
|
|
|
template<class Policy>
|
|
class default_error_handler : public error_handler {
|
|
public:
|
|
using error_variant = std::variant<
|
|
openmethod_error, not_implemented_error, unknown_class_error,
|
|
hash_search_error, type_mismatch_error, static_slot_error,
|
|
static_stride_error>;
|
|
using function_type = std::function<void(const error_variant& error)>;
|
|
|
|
template<class Error>
|
|
static auto error(const Error& error) -> void;
|
|
static auto set_error_handler(error_handler_type handler) -> function_type;
|
|
};
|
|
|
|
}
|
|
```
|
|
|
|
### Description
|
|
|
|
`default_error_handler` is an implementation of `error_handler` that calls a
|
|
`std::function` to handle the error.
|
|
|
|
### Members
|
|
|
|
#### error
|
|
|
|
```c++
|
|
template<class Error>
|
|
static auto error(const Error& error) -> void;
|
|
```
|
|
|
|
Calls the function last set via `set_error_handler` or, if it was never called,
|
|
and if _Policy_ contains an `output` policy, use it to print a description
|
|
of `error`.
|
|
|
|
#### error
|
|
|
|
```c++
|
|
static auto set_error_handler(function_type handler) -> function_type;
|
|
```
|
|
|
|
Sets `handler` as the function to call in case of error.
|