36 #ifndef FIX8_EXCEPTION_HPP_
37 #define FIX8_EXCEPTION_HPP_
85 const char *
what()
const throw() {
return _reason.c_str(); }
99 std::ostringstream ostr;
100 ostr << msg <<
": " <<
what;
101 _reason = ostr.str();
111 template<
typename T,
typename S>
112 void format(
const std::string& msg,
const T
what,
const std::string& msg2,
const S what2)
114 std::ostringstream ostr;
115 ostr << msg <<
": " << what << msg2 <<
": " << what2;
116 _reason = ostr.str();
168 :
f8Exception(true), _rseqnum(rseqnum), _eseqnum(eseqnum)
169 {
format(
"Invalid Sequence number, received", rseqnum,
" expected", eseqnum); }
178 :
f8Exception(true), _rseqnum(rseqnum), _eseqnum(eseqnum)
179 {
format(
"Message Sequence too low, received", rseqnum,
" expected", eseqnum); }
234 : _tagid(field) {
format(
"Invalid Repeating Group", field,
" in", str); }
316 #endif // _F8_EXCEPTION_HPP_
XMLError(const std::string &str)
A message was received with an invalid sending time.
An outbound message was missing a header or trailer.
virtual ~f8Exception()
Dtor.
bool force_logoff() const
A field was decoded in a message that has already been decoded.
ConfigurationError(const std::string &str)
A message was decoded that had a Fix version not configured for this session.
InvalidMessage(const std::string &str, const char *str1)
void format(const std::string &msg, const T what)
An inbound message had an invalid (incorrect) checksum.
f8Exception(const char *msg, bool force_logoff=false)
ConfigurationError(const std::string &str, const std::string &str1)
An invalid field was decoded.
const unsigned int _chkval
A message was read that was in an illegal format.
f8Exception(bool force_logoff=false)
InvalidRepeatingGroup(unsigned field, const char *str)
InvalidRepeatingGroup(unsigned field)
A message was decoded with an invalid message body length.
InvalidBodyLength(unsigned length)
BadSendingTime(const std::string &str)
InvalidField(unsigned field)
For field types with a specified domain (realm), a value was decoded that was not in the domain set/r...
IllegalMessage(const std::string &str, const char *str1)
LogfileException(const std::string &str)
MissingMandatoryField(unsigned field)
InvalidConfiguration(const std::string &str)
An bad or missing configuration parameter.
InvalidVersion(const std::string &str)
A message was received with an out of sequence sequence number.
void format(const std::string &msg, const T what, const std::string &msg2, const S what2)
InvalidMessage(const std::string &str)
A message was received with an invalid sender/target compid id.
IllegalMessage(const std::string &str)
A pthread attribute error occured.
An invalid repeating group was found while attempting to encode a message.
DuplicateField(unsigned field)
An invalid configuration parameter was passed.
PeerResetConnection(const std::string &reason)
An invalid message was requested or decoded.
Field template. There will ONLY be partial template specialisations of this template.
An invalid repeating group field was found while decoding a message (first field is mandatory)...
A connected peer has reset the connection (disconnected).
An invalid field was requested or added.
InvalidMsgSequence(unsigned rseqnum, unsigned eseqnum)
MissingMessageComponent(const char *text)
An invalid configuration parameter was passed.
MissingRepeatingGroupField(unsigned field)
UnknownField(unsigned field)
An outbound message was missing a mandatory field.
const char * what() const
f8_threadException(const std::string &reason)
BadCheckSum(unsigned int chkval)
InvalidDomainValue(T what)
BadCompidId(const std::string &str)
MissingMandatoryField(const std::string &reason)
f8Exception(const std::string &msg, const T &val, bool force_logoff=false)
Could not open a logfile.
f8Exception(const std::string &msg, bool force_logoff=false)