HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
exception.hpp
1// Copyright Take Vos 2020-2021.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
8#include "utility.hpp"
9#include <exception>
10#include <stdexcept>
11#include <atomic>
12
13#pragma once
14
15namespace hi {
16inline namespace v1 {
17
21
22
30#define hi_set_terminate_message(...) \
31 ::hi::terminate_message.store(__FILE__ ":" hi_stringify(__LINE__) ":" __VA_ARGS__, std::memory_order::relaxed)
32
38
45[[noreturn]] void terminate_handler() noexcept;
46
47
61class parse_error : public std::runtime_error {
62public:
64};
65
77
86public:
88};
89
97public:
99};
100
102public:
104};
105
107public:
109};
110
112public:
114};
115
116class uri_error : public parse_error {
117public:
118 using parse_error::parse_error;
119};
120
126public:
128};
129
130}} // namespace hi::inline v1
Utilities used by the HikoGUI library itself.
STL namespace.
DOXYGEN BUG.
Definition algorithm.hpp:15
geometry/margins.hpp
Definition assert.hpp:18
std::terminate_handler old_terminate_handler
The old terminate handler.
Definition exception.hpp:37
std::atomic< char const * > terminate_message
Message to show when the application is terminated.
Definition exception.hpp:20
void terminate_handler() noexcept
The HikoGUI terminate handler.
Exception thrown during parsing on an error.
Definition exception.hpp:61
Exception thrown during execution of a dynamic operation.
Definition exception.hpp:73
Exception thrown during I/O on an error.
Definition exception.hpp:85
Exception thrown during an operating system call.
Definition exception.hpp:96
Definition exception.hpp:101
Definition exception.hpp:106
Definition exception.hpp:111
Definition exception.hpp:116
Cancel error is caused by user pressing cancel.
Definition exception.hpp:125
T runtime_error(T... args)