|
8 | 8 |
|
9 | 9 | #include "string.h"
|
10 | 10 |
|
11 |
| -#define BX_ERROR_SET(_ptr, _result, _msg) \ |
12 |
| - BX_MACRO_BLOCK_BEGIN \ |
13 |
| - (_ptr)->setError(_result, "" _msg); \ |
14 |
| - BX_MACRO_BLOCK_END |
| 11 | +#define BX_ERROR_SET(_ptr, _result, _msg) \ |
| 12 | + BX_MACRO_BLOCK_BEGIN \ |
| 13 | + (_ptr)->setError(_result, "" _msg); \ |
| 14 | + BX_MACRO_BLOCK_END |
15 | 15 |
|
16 |
| -#define BX_ERROR_USE_TEMP_WHEN_NULL(_ptr) \ |
17 |
| - const bx::Error tmpError; /* It should not be used directly! */ \ |
18 |
| - _ptr = NULL == _ptr ? const_cast<bx::Error*>(&tmpError) : _ptr |
| 16 | +#define BX_ERROR_USE_TEMP_WHEN_NULL(_ptr) \ |
| 17 | + const bx::Error tmpError; /* It should not be used directly! */ \ |
| 18 | + _ptr = NULL == _ptr ? const_cast<bx::Error*>(&tmpError) : _ptr |
19 | 19 |
|
20 |
| -#define BX_ERROR_SCOPE(_ptr) \ |
21 |
| - BX_ERROR_USE_TEMP_WHEN_NULL(_ptr); \ |
22 |
| - bx::ErrorScope bxErrorScope(const_cast<bx::Error*>(&tmpError) ) |
| 20 | +#define BX_ERROR_SCOPE(_ptr, ...) \ |
| 21 | + BX_ERROR_USE_TEMP_WHEN_NULL(_ptr); \ |
| 22 | + bx::ErrorScope bxErrorScope(const_cast<bx::Error*>(&tmpError), "" __VA_ARGS__) |
23 | 23 |
|
24 |
| -#define BX_ERROR_RESULT(_err, _code) \ |
25 |
| - BX_STATIC_ASSERT(_code != 0, "ErrorCode 0 is reserved!"); \ |
26 |
| - static constexpr bx::ErrorResult _err = { _code } |
| 24 | +#define BX_ERROR_RESULT(_err, _code) \ |
| 25 | + BX_STATIC_ASSERT(_code != 0, "ErrorCode 0 is reserved!"); \ |
| 26 | + static constexpr bx::ErrorResult _err = { _code } |
27 | 27 |
|
28 | 28 | namespace bx
|
29 | 29 | {
|
@@ -81,13 +81,17 @@ namespace bx
|
81 | 81 |
|
82 | 82 | public:
|
83 | 83 | ///
|
84 |
| - ErrorScope(Error* _err); |
| 84 | + ErrorScope(Error* _err, const StringView& _name); |
85 | 85 |
|
86 | 86 | ///
|
87 | 87 | ~ErrorScope();
|
88 | 88 |
|
| 89 | + /// |
| 90 | + const StringView& getName() const; |
| 91 | + |
89 | 92 | private:
|
90 | 93 | Error* m_err;
|
| 94 | + const StringView m_name; |
91 | 95 | };
|
92 | 96 |
|
93 | 97 | } // namespace bx
|
|
0 commit comments