acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
exception.h
1
#pragma once
2
3
5
6
7
namespace
file
8
{
9
10
11
class
CLASS_DECL_ACME exception :
12
public
::exception
13
{
14
public
:
15
16
17
// ::i32 m_lOsError;
18
// ::i32 m_iErrNo;
19
::file::path
m_path;
20
// string m_strAdd;
21
::file::e_open m_eopen;
22
23
24
exception(const ::e_status& estatus, const ::error_code& errorcode, const ::file::path&
path
, ::file::e_open eopen = {}, const ::scoped_string& strMessage =
nullptr
, const ::scoped_string& scopedstrDetails =
nullptr
);
25
exception(const ::e_status &estatus, const ::file::path &
path
, ::file::e_open eopen = {}, const ::scoped_string &strMessage =
nullptr
, const ::scoped_string &scopedstrDetails =
nullptr
);
26
exception(const ::file::exception& exception);
27
~exception()
override
;
28
29
30
void
construct_file_exception();
31
32
::pointer < ::subparticle > clone()
override
;
33
34
// virtual ~exception();
35
//
36
// virtual void dump(dump_context &) const;
37
//
38
//
39
// virtual void get_status();
40
// virtual ::i32 get_os_error();
41
// virtual string get_file_path();
42
//
43
//#ifdef WINDOWS
44
// virtual bool get_error_message(string & str, ::u32 * pnHelpContext = nullptr);
45
//#endif
46
//
47
};
48
49
50
//using exception_pointer = ::pointer<exception>
51
52
53
CLASS_DECL_ACME
bool
should_ignore_file_exception_callstack(const ::e_status& estatus);
54
55
//CLASS_DECL_ACME void throw_exception(const ::e_status& estatus, ::i32 lOsError, ::i32 iErrNo, const ::file::path& path, ::file::e_open eopen);
56
57
//CLASS_DECL_ACME void throw_::exception(const ::e_status& estatus, ::i32 lOsError, const ::file::path& path = nullptr);
58
59
//CLASS_DECL_ACME void throw_stdio_exception(const ::e_status& estatus, ::i32 lDOSError, const ::file::path& path);
60
61
//#ifdef WINDOWS
62
//
63
// CLASS_DECL_ACME void throw_os_error(DWORD dwError, const ::file::path& path = nullptr);
64
//
65
//#endif
66
67
//CLASS_DECL_ACME void throw ::file::exception(errno_status(errno), (::i32 iErrNo, const ::file::path& path = nullptr);
68
69
CLASS_DECL_ACME ::i32 dos_to_os_error(::i32 lDosErr);
70
71
const_char_pointer status_short_description(const ::e_status& estatus);
72
73
74
}
// namespace file
75
76
77
file::path
Definition
path.h:52
file
Definition
filesystem.h:16
filesystem
file
exception.h
Generated by
1.17.0