OnixS Eurex ETI Handler C++ library 9.25.0
API documentation
Loading...
Searching...
No Matches
Exception.h
Go to the documentation of this file.
1/*
2 * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3 *
4 * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5 * and international copyright treaties.
6 *
7 * Access to and use of the software is governed by the terms of the applicable ONIXS Software
8 * Services Agreement (the Agreement) and Customer end user license agreements granting
9 * a non-assignable, non-transferable and non-exclusive license to use the software
10 * for it's own data processing purposes under the terms defined in the Agreement.
11 *
12 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any
13 * part of this source code or associated reference material to any other location for further
14 * reproduction or redistribution, and any amendments to this copyright notice, are expressly
15 * prohibited.
16 *
17 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
18 * the terms of the Agreement is a violation of copyright law.
19 */
20
21#pragma once
22
23#include "OnixS/Eurex/Trading/Export.h"
24
25#include <exception>
26
27namespace OnixS { namespace Eurex { namespace Trading {
28
30class ONIXS_EUREX_ETI_EXPORT Exception : public std::exception
31{
32public:
34 Exception(const char* method_name, const char* message);
35
38
40 ~Exception() throw();
41
43 Exception& operator=(const Exception&);
44
46 const char* what() const throw();
47
49 void touch(const char* method_name);
50
51private:
52 struct Implementation;
53
54 Implementation* impl_;
55};
56
58class ONIXS_EUREX_ETI_EXPORT ArgumentException : public Exception
59{
60public:
62 ArgumentException(const char* source, const char* message);
63
65 ArgumentException(const char* source, const char* argument_name, const char* value, const char* comment = "");
66
68 ArgumentException(const char* source, const char* argument_name, int value, const char* comment = "");
69
71 ArgumentException(const char* source, const char* argument_name, unsigned int value, const char* comment = "");
72
74 ArgumentException(const char* source, const char* argument_name, double value, const char* comment = "");
75};
76
78class ONIXS_EUREX_ETI_EXPORT NullArgumentException : public ArgumentException
79{
80public:
82 NullArgumentException(const char* source, const char* argument_name);
83};
84
86class ONIXS_EUREX_ETI_EXPORT ArgumentRangeException : public ArgumentException
87{
88public:
90 ArgumentRangeException(const char* source, const char* message);
91
93 ArgumentRangeException(const char* source, const char* argument_name, int value, int min_value, int max_value);
94
97 const char* source,
98 const char* argument_name,
99 unsigned int value,
100 unsigned int min_value,
101 unsigned int max_value
102 );
103
105 ArgumentRangeException(const char* source, const char* argument_name, int value, unsigned int max_value);
106
108 ArgumentRangeException(const char* source, const char* argument_name, unsigned int value, unsigned int max_value);
109
112 const char* source,
113 const char* argument_name,
114 double value,
115 double min_value,
116 double max_value
117 );
118};
119
121class ONIXS_EUREX_ETI_EXPORT OperationException : public Exception
122{
123public:
125 OperationException(const char* source, const char* message);
126
128 OperationException(const char* source, const char* host, int port, const char* message);
129};
130
132class ONIXS_EUREX_ETI_EXPORT NotImplementedException : public OperationException
133{
134public:
136 NotImplementedException(const char* source);
137};
138}}} // namespace OnixS::Eurex::Trading
ArgumentException(const char *source, const char *argument_name, unsigned int value, const char *comment="")
Constructor.
ArgumentException(const char *source, const char *argument_name, const char *value, const char *comment="")
Constructor.
ArgumentException(const char *source, const char *message)
Constructor.
ArgumentException(const char *source, const char *argument_name, int value, const char *comment="")
Constructor.
ArgumentException(const char *source, const char *argument_name, double value, const char *comment="")
Constructor.
ArgumentRangeException(const char *source, const char *argument_name, int value, unsigned int max_value)
Constructor.
ArgumentRangeException(const char *source, const char *argument_name, int value, int min_value, int max_value)
Constructor.
ArgumentRangeException(const char *source, const char *message)
Constructor.
ArgumentRangeException(const char *source, const char *argument_name, unsigned int value, unsigned int max_value)
Constructor.
ArgumentRangeException(const char *source, const char *argument_name, double value, double min_value, double max_value)
Constructor.
ArgumentRangeException(const char *source, const char *argument_name, unsigned int value, unsigned int min_value, unsigned int max_value)
Constructor.
void touch(const char *method_name)
Add information about context of exception.
Exception(const char *method_name, const char *message)
Constructor.
const char * what() const
Returns information about error.
Exception(const Exception &)
Copy constructor.
NotImplementedException(const char *source)
Constructor.
NullArgumentException(const char *source, const char *argument_name)
Constructor.
OperationException(const char *source, const char *host, int port, const char *message)
Constructor that accepts host and port information.
OperationException(const char *source, const char *message)
Constructor.