acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
aaa_exception_extras.h
1// Created by camilo on 2023-06-29 09:20 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
5class CLASS_DECL_ACME exception
6{
7public:
8
9
10 ::e_status m_estatus;
11
12 bool m_bDumpBackTrace;
13 string m_strCallstack;
14 bool m_bHandled;
15 bool m_bContinue;
16 string m_strMessage; // Message for the user
17 string m_strDetails; // Details about exception (if available/applicable)
18 //string m_strException;
19
20 // A exception class is meant to be a small utility/tool class.
21 // m_bLog -> too much managing (micro-managing and also big-managing)
22 // from utility/tool small class of the Logging system()->
23 // General-ever Log can be done by final handlers at Main Loop and crash handlers
24 // Log can be supressed or translated at optional middle-stack handlers.
25 // bool m_bLog;
26 string m_strLink;
27 string m_strFile;
28 ::i32 m_iLine;
29 array < error_code > m_errorcodea;
30 static bool s_bEnableCallStackBackTrace;
31
32
33 exception();
34 //#ifdef __ANDROID__
35 // exception(const ::e_status & estatus, const ::scoped_string & scopedstrMessage = nullptr, const ::scoped_string & scopedstrDetails = nullptr, ::i32 iSkip = CALLSTACK_DEFAULT_SKIP_TRIGGER);
36 //#else
37 exception(const ::e_status & estatus, const_char_pointer pszMessage = nullptr, const_char_pointer pszDetails = nullptr, ::i32 iSkip = CALLSTACK_DEFAULT_SKIP_TRIGGER, void * caller_address = nullptr);
38 //#endif
39 exception(const ::e_status & estatus, const ::array < error_code > & errorcodea, const_char_pointer pszMessage = nullptr, const_char_pointer pszDetails = nullptr, ::i32 iSkip = CALLSTACK_DEFAULT_SKIP_TRIGGER, void * caller_address = nullptr);
40 virtual ~exception();
41
42
43 static void enable_call_stack_back_trace(bool bEnable);
44
45
46 virtual string get_message() const;
47
48 virtual string get_title() const;
49
50 virtual string get_consolidated_details() const;
51
52
53 inline ::e_status estatus() const { return m_estatus; }
54
55
56};
57
58
Definition e_status.h:30