HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Data Structures | Namespaces | Macros | Functions | Variables
exception.hpp File Reference

Utilities for throwing exceptions and terminating the application. More...

#include "utility.hpp"
#include <exception>
#include <stdexcept>
#include <atomic>
#include <bit>
#include <format>

Go to the source code of this file.

Data Structures

class  hi::v1::parse_error
 Exception thrown during parsing on an error. More...
 
class  hi::v1::not_found_error
 Exception thrown when an item was not found. More...
 
class  hi::v1::operation_error
 Exception thrown during execution of a dynamic operation. More...
 
class  hi::v1::io_error
 Exception thrown during I/O on an error. More...
 
class  hi::v1::os_error
 Exception thrown during an operating system call. More...
 
class  hi::v1::gui_error
 
class  hi::v1::key_error
 
class  hi::v1::url_error
 
class  hi::v1::uri_error
 
class  hi::v1::cancel_error
 Cancel error is caused by user pressing cancel. More...
 

Namespaces

namespace  hi
 geometry/margins.hpp
 
namespace  hi::v1
 The HikoGUI API version 1.
 

Macros

#define hi_set_terminate_message(...)    ::hi::terminate_message.store(__FILE__ ":" hi_stringify(__LINE__) ":" __VA_ARGS__, std::memory_order::relaxed)
 Set the message to display when the application terminates.
 

Functions

std::string hi::v1::get_last_error_message () noexcept
 Get the OS error message from the last error received on this thread.
 

Variables

std::atomic< char const * > hi::v1::terminate_message = nullptr
 Message to show when the application is terminated.
 

Detailed Description

Utilities for throwing exceptions and terminating the application.

Macro Definition Documentation

◆ hi_set_terminate_message

#define hi_set_terminate_message ( ...)     ::hi::terminate_message.store(__FILE__ ":" hi_stringify(__LINE__) ":" __VA_ARGS__, std::memory_order::relaxed)

Set the message to display when the application terminates.

The std::terminate() handler will display the FILE, LINE number and the message to the console or a popup dialogue.

Parameters
...The message to display.