acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
exception.h
1#pragma once
2
3
4namespace gen
5{
6
7
8#ifndef _NO_EXCEPTIONS
9
10
11 // Throw a atl_exception corresponding to the result of ::get_last_error
12 NOINLINE DECLSPEC_NO_RETURN inline void WINAPI gen_ThrowLastWin32()
13 {
14 ::u32 dwError = ::GetLastError();
15 throw ::exception(hresult_exception(HRESULT_FROM_WIN32( dwError ) ));
16 }
17
18#else // no exception handling
19
20 // Throw a atl_exception corresponding to the result of ::get_last_error
21 NOINLINE inline void WINAPI gen_ThrowLastWin32()
22 {
23 ::u32 dwError = ::get_last_error();
24 throw ::exception(hresult_exception(HRESULT_FROM_WIN32( dwError ) ));
25 }
26
27#endif // no exception handling
28
29} // namespace gen