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