1 | /* |
2 | * SPDX-License-Identifier: Apache-2.0 |
3 | */ |
4 | |
5 | #pragma once |
6 | |
7 | #define ONNX_UNUSED_PARAMETER(x) (void)(x) |
8 | |
9 | #ifdef ONNX_NO_EXCEPTIONS |
10 | #include <iostream> |
11 | #define ONNX_THROW(...) \ |
12 | do { \ |
13 | std::cerr << ONNX_NAMESPACE::MakeString(__VA_ARGS__); \ |
14 | abort(); \ |
15 | } while (false) |
16 | |
17 | #define ONNX_THROW_EX(ex) \ |
18 | do { \ |
19 | std::cerr << ex.what() << std::endl; \ |
20 | abort(); \ |
21 | } while (false) |
22 | |
23 | #define ONNX_TRY if (true) |
24 | #define ONNX_CATCH(x) else if (false) |
25 | #define ONNX_HANDLE_EXCEPTION(func) |
26 | |
27 | #else |
28 | #define ONNX_THROW(...) throw std::runtime_error(ONNX_NAMESPACE::MakeString(__VA_ARGS__)) |
29 | #define ONNX_THROW_EX(ex) throw ex |
30 | |
31 | #define ONNX_TRY try |
32 | #define ONNX_CATCH(x) catch (x) |
33 | #define ONNX_HANDLE_EXCEPTION(func) func() |
34 | #endif |
35 | |