StreamBase C++ API  7.6.2dev
PluginException.hpp
1 //
2 // Copyright (c) 2004-2016 Cloud Software Group, Inc. All rights reserved.
3 //
4 
5 #ifndef STREAMBASE_PLUGIN_EXCEPTION_H
6 #define STREAMBASE_PLUGIN_EXCEPTION_H
7 
8 #include "StreamBase.hpp"
9 
10 #include "Exceptions.hpp"
11 
12 SB_NAMESPACE_BEGIN;
13 
14 /// An exception that occurs in a plugin function or aggregate.
15 STREAMBASE_EXCEPTION_TYPE(PluginException, sb_internal::Errors::PLUGIN_ERROR);
16 
17 #define STREAMBASE_PLUGIN_EXCEPTION_TYPE(cl) STREAMBASE_EXCEPTION_SUBTYPE(cl, PluginException, sb_internal::Errors::PLUGIN_ERROR) \
18 
19 /// An exception that occurs during typechecking in a plugin function or aggregate.
20 STREAMBASE_PLUGIN_EXCEPTION_TYPE(PluginTypecheckException);
21 
22 /// An exception that occurs during evaluation of a plugin function or aggregate.
23 STREAMBASE_PLUGIN_EXCEPTION_TYPE(PluginEvalException);
24 
25 /// Exception throw when a Plugin API is not used properly. Indicates
26 /// an error in the plugin.
27 STREAMBASE_PLUGIN_EXCEPTION_TYPE(PluginUsageException);
28 
29 
30 SB_NAMESPACE_END;
31 #endif // PLUGIN_EXCEPTION_H