C12Adapter Opensource C++ Interface
|
Root of every exception thrown by the MCOM component. More...
Public Member Functions | |
MCOMException (MErrorEnum::Type code, MConstLocalChars str,...) | |
Constructor that takes the message code and the arguments that correspond to the message code. More... | |
MCOMException (const MCOMException &ex) | |
Copy constructor. | |
virtual | ~MCOMException () |
Destructor. | |
MCOMException & | operator= (const MCOMException &ex) |
Assignment operator. More... | |
virtual MException * | NewClone () const |
Clone the exception, so the new exception has the same final type. More... | |
virtual M_NORETURN_FUNC void | Rethrow () |
Rethrows this exception. More... | |
![]() | |
MException () | |
Object constructor. More... | |
MException (const MStdString &message, MErrorEnum::Type code=MErrorEnum::ClientApplicationError, KindType kind=MException::ErrorUser) | |
Object constructor with code, kind and variable number of parameters. More... | |
MException (const MException &ex) | |
Object copy constructor. More... | |
virtual | ~MException () |
Object destructor. | |
void | InitAll (MException::KindType kind, MErrorEnum::Type code, const MStdString &message) |
Initialize all exception fields with the exact given data. | |
MException & | operator= (const MException &ex) |
Assignment operator. More... | |
virtual MStdString | AsSimplifiedString () const |
Return a possibly simplified string that specifies information about exception. More... | |
virtual MStdString | AsString () const |
Return the string that specifies extended information about exception. More... | |
MStdString | GetMessageString () const |
Returns the message that is stored in this exception object. More... | |
void | SetMessageString (const MStdString &msg) |
Sets the new message to exception. More... | |
MStdString | GetKindAsString () const |
Return a string that represents the exception error kind. More... | |
MStdString | GetFileName () const |
Get the file name where the error took place, if this information is available. | |
unsigned | GetFileLineNumber () const |
Get the line number within file where the error took place. | |
void | UpdateFileNameAndLineNumber (MFileNameAndLineNumber fl) |
Set file name and line number where the compile error took place, if the exception does not have this information already. | |
void | UpdateFileAndLine (const MStdString &file, unsigned line) |
If not set already, set file name and line number associated with this exception. More... | |
void | AddFileAndLineToStack (const MStdString &file, unsigned line) |
Add file name and line number context associated with this exception into stack. More... | |
void | AddFileNameAndLineNumberToStack (MFileNameAndLineNumber fl) |
Add file name and line number context associated with this exception into stack. More... | |
const MFileNameAndLineNumber::VectorType & | GetStack () const |
Get the stack of file names and line numbers. | |
MStdStringVector | GetCallStack () const |
Get the stack of file names and line numbers as collection of strings. | |
void | Append (const MStdString &) |
Append the specified string to the end of the exception string. More... | |
void | Prepend (const MStdString &) |
Prepend the specified string before the beginning of the exception string. More... | |
MErrorEnum::Type | GetCode () const |
void | SetCode (MErrorEnum::Type code) |
KindType | GetKind () const |
void | SetKind (KindType kind) |
void | Init (KindType kind, MErrorEnum::Type code, MConstLocalChars str,...) |
Initialize the exception with the given message code and kind from which the message string is fetched from the resource. More... | |
void | Init (KindType kind, MErrorEnum::Type code, const char *str,...) |
Initialize the exception with the given message code and kind from which the message string is fetched from the resource. More... | |
void | Init (MErrorEnum::Type code, MConstLocalChars str,...) |
Initialize the exception with the given message code and kind from which the message string is fetched from the resource. More... | |
void | Init (MErrorEnum::Type code, const char *str,...) |
Initialize the exception with the given message code and kind from which the message string is fetched from the resource. More... | |
void | InitVA (KindType kind, MErrorEnum::Type code, MConstLocalChars str, va_list va) |
Initialize the exception with the given message code from the VA list argument. More... | |
void | InitVA (KindType kind, MErrorEnum::Type code, const char *str, va_list va) |
Initialize the exception with the given message code from the VA list argument. More... | |
void | InitVA (MErrorEnum::Type code, MConstLocalChars str, va_list va) |
Initialize the exception with the given message code from the VA list argument. More... | |
void | InitVA (MErrorEnum::Type code, const char *str, va_list va) |
Initialize the exception with the given message code from the VA list argument. More... | |
MFileNameAndLineNumber | GetFileNameAndLineNumber () const |
void | SetFileNameAndLineNumber (MFileNameAndLineNumber fl) |
void | AppendToString (MConstLocalChars str,...) |
void | AppendToString (const char *str,...) |
void | PrependBeforeString (MConstLocalChars str,...) |
void | PrependBeforeString (const char *str,...) |
![]() | |
virtual | ~MObject () |
Object destructor. | |
virtual const MClass * | GetClass () const =0 |
Get the final class of the object. More... | |
virtual unsigned | GetEmbeddedSizeof () const |
For embedded object types, return the size of the class. More... | |
bool | IsEmbeddedObject () const |
Tell if the object is of embedded kind. More... | |
SHOW_INTERNAL MVariant | Call (const MStdString &name, const MVariant ¶ms) |
Call the object service with parameters, given as variant. More... | |
MVariant | Call0 (const MStdString &name) |
Call the object service with no parameters. More... | |
MVariant | Call1 (const MStdString &name, const MVariant &p1) |
Call the object service with one parameter. More... | |
MVariant | Call2 (const MStdString &name, const MVariant &p1, const MVariant &p2) |
Call the object service with two parameter. More... | |
MVariant | Call3 (const MStdString &name, const MVariant &p1, const MVariant &p2, const MVariant &p3) |
Call the object service with three parameter. More... | |
MVariant | Call4 (const MStdString &name, const MVariant &p1, const MVariant &p2, const MVariant &p3, const MVariant &p4) |
Call the object service with four parameter. More... | |
MVariant | Call5 (const MStdString &name, const MVariant &p1, const MVariant &p2, const MVariant &p3, const MVariant &p4, const MVariant &p5) |
Call the object service with five parameter. More... | |
MVariant | Call6 (const MStdString &name, const MVariant &p1, const MVariant &p2, const MVariant &p3, const MVariant &p4, const MVariant &p5, const MVariant &p6) |
Call the object service with six parameter. More... | |
virtual MVariant | CallV (const MStdString &name, const MVariant::VariantVector ¶ms) |
Call the object service with parameters, given as variant vector. More... | |
virtual bool | IsPropertyPresent (const MStdString &name) const |
Tell if the property with the given name exists. | |
virtual bool | IsServicePresent (const MStdString &name) const |
Tell if the service with the given name exists. | |
virtual MVariant | GetProperty (const MStdString &name) const |
Get the property value using name of the property. More... | |
virtual void | SetProperty (const MStdString &name, const MVariant &value) |
Set the property using name of the property, and value. More... | |
virtual MStdStringVector | GetAllPropertyNames () const |
Return the list of publicly available properties, persistent or not. More... | |
virtual MStdStringVector | GetAllPersistentPropertyNames () const |
Return the list of persistent properties. More... | |
virtual void | SetPersistentPropertiesToDefault () |
Set the persistent properties of the object to their default values. More... | |
virtual MVariant | GetPersistentPropertyDefaultValue (const MStdString &name) const |
Get the default value of persistent property with the name given. More... | |
virtual void | SetPersistentPropertyToDefault (const MStdString &name) |
Set the persistent property with the name given to default value. More... | |
virtual const char * | GetType () const |
Get the name of the type for the object (could be the same as class name). | |
virtual void | SetType (const MStdString &) |
Intentionally, it will set the name of the type for the object, but the service will not allow setting the name to anything other than the current name. More... | |
virtual void | Validate () |
Validate internal structures of the object. More... | |
Static Public Member Functions | |
static MCOMException * | New () |
Create a new exception of this type, all parameters are clear. | |
static M_NORETURN_FUNC void | ThrowInvalidOperationInForeground () |
Throws this exception with the parameters that signify the the operation is invalid due to background work. | |
static void | CheckIfExpectedDataSizeDifferent (unsigned receivedLength, unsigned expectedLength) |
If the given two values are different then throw an error. More... | |
static M_NORETURN_FUNC void | Throw (MErrorEnum::Type code, MConstLocalChars str,...) |
static M_NORETURN_FUNC void | Throw (MErrorEnum::Type code, const char *str,...) |
static M_NORETURN_FUNC void | Throw (MException::KindType kind, MErrorEnum::Type code, MConstLocalChars str,...) |
static M_NORETURN_FUNC void | Throw (MException::KindType kind, MErrorEnum::Type code, const char *str,...) |
![]() | |
static MException * | New () |
Create a new exception of this type, all parameters are clear. | |
static M_NORETURN_FUNC void | ThrowUnknownError () |
Throws this exception as unknown error. More... | |
static M_NORETURN_FUNC void | ThrowCannotIndexItem (MConstChars itemName=NULL) |
Throws this exception as error that signifies the item cannot be indexed. | |
static M_NORETURN_FUNC void | ThrowNotSupportedForThisType () |
Throws this exception as error that signifies the operation is not supported for such type. | |
static M_NORETURN_FUNC void | ThrowNoValue () |
Throws this exception as error that signifies the value is absent. | |
static M_NORETURN_FUNC void | ThrowNoValue (MFileNameAndLineNumber fl) |
Throws this exception as error that signifies the value given in file and line is absent. | |
static M_NORETURN_FUNC void | ThrowBadTimeValue (MConstChars str=NULL) |
Throws this exception as error that signifies the time value is bad. | |
static M_NORETURN_FUNC void | ThrowDivisionByZero () |
Throws this exception as division by zero. | |
static M_NORETURN_FUNC void | ThrowCallOutOfSequence () |
Throws an error that the call is made out of sequence. | |
static M_NORETURN_FUNC void | ThrowBadFileFormat (const MStdString &fileName) |
Throws file has bad format. | |
static M_NORETURN_FUNC void | ThrowUnexpectedChar (int ch) |
Throws an exception that complains about an unexpected character. More... | |
static M_NORETURN_FUNC void | ThrowStringTooLong (int stringLength, int maximumPossibleLength) |
Throws an exception that tells that the string is bigger than the maximum length. More... | |
static M_NORETURN_FUNC void | ThrowUnsupportedType (int typetag) |
Throws an error that the given variant type is not supported. | |
static M_NORETURN_FUNC void | Throw (const MStdString &message, MErrorEnum::Type code=MErrorEnum::ClientApplicationError) |
Throw this exception with the user message given as parameter. More... | |
static MStdString | SimplifyMessageString (const MStdString &message) |
Attempt to simplify the error message string given. More... | |
static MStdString | GetKindAsStringStatic (KindType kind) |
Return a string that represents the exception error kind using kind as parameter. More... | |
static MStdString | VisualizeParameter (const MVariant &v) |
Make the given variant suitable for showing in error message. More... | |
static char * | VisualizeVariantParameter (char *buff, const MVariant &v) |
Make the given variant parameter suitable for showing in error message. More... | |
static char * | VisualizeStringParameter (char *buff, const MStdString &v) |
Make the given string parameter suitable for showing in error message. More... | |
static char * | VisualizeCharsParameter (char *buff, const char *v) |
Make the given zero terminated string parameter suitable for showing in error message. More... | |
static char * | VisualizeCharsParameter (char *buff, const char *v, unsigned len) |
Make the given not zero terminated character parameter suitable for showing in error message. More... | |
static M_NORETURN_FUNC void | ThrowSyntaxError (MConstChars offendingString) |
static M_NORETURN_FUNC void | ThrowSyntaxError (MConstChars offendingString, size_t offendingStringLength) |
static M_NORETURN_FUNC void | ThrowUnknownItem (MException::KindType kind, MConstChars name) |
static M_NORETURN_FUNC void | ThrowUnknownItem (MConstChars name) |
static M_NORETURN_FUNC void | ThrowUnknownItem (MException::KindType kind, const MStdString &name) |
static M_NORETURN_FUNC void | ThrowUnknownItem (const MStdString &name) |
static M_NORETURN_FUNC void | Throw (MErrorEnum::Type code, MConstLocalChars str,...) |
static M_NORETURN_FUNC void | Throw (MErrorEnum::Type code, const char *str,...) |
static M_NORETURN_FUNC void | Throw (KindType kind, MErrorEnum::Type code, MConstLocalChars str,...) |
static M_NORETURN_FUNC void | Throw (KindType kind, MErrorEnum::Type code, const char *str,...) |
![]() | |
static const MClass * | GetStaticClass () |
Get the declared class of this particular object. More... | |
static bool | IsClassPresent (const MStdString &name) |
Tells if the given class name is available. More... | |
Additional Inherited Members | |
![]() | |
enum | KindType { ErrorNone = 0, ErrorInformation = 1, ErrorWarning = 2, Error = 3, ErrorFatal = 4, ErrorCommunication = 5, ErrorSystem = 6, ErrorSocket = 7, ErrorConfiguration = 8, ErrorSecurity = 9, ErrorMeter = 10, ErrorSoftware = 15, ErrorUser = 20 } |
Enumeration that stands for the kind of the exception. More... | |
enum | { MaximumVisibleParameterLength = 64 } |
![]() | |
static const char | s_itemIsUnknownErrorString [] |
Constant string "Item '%s' is unknown", shared through many libraries. | |
![]() | |
static const MClass | s_class |
Class of MObject. | |
![]() | |
MObject () | |
Object constructor, protected as the class is abstract. | |
void | DoSetPersistentPropertiesToDefault (const MClass *staticClass) |
Set the persistent properties to their default values for one object provided the class for that object. More... | |
![]() | |
MErrorEnum::Type | m_code |
Message code for this exception. | |
KindType | m_kind |
The kind type for this exception. | |
MStdString | m_message |
Message string that represents this exception. | |
MFileNameAndLineNumber | m_fileNameAndLineNumber |
File name and line number where the compile error took place. More... | |
MFileNameAndLineNumber::VectorType | m_stack |
Stack of file names and line numbers. | |
Root of every exception thrown by the MCOM component.
Use this exception if there is a need to catch MCOM exceptions only. Notice that MCOM calls can still throw MCORE exceptions - case when MCOM called the methods of MCORE.
MCOMException::MCOMException | ( | MErrorEnum::Type | code, |
MConstLocalChars | str, | ||
... | |||
) |
Constructor that takes the message code and the arguments that correspond to the message code.
|
static |
If the given two values are different then throw an error.
An error thrown will be "Expected %d bytes, but found %d, possibly the buffer has incorrect layout".
|
virtual |
Clone the exception, so the new exception has the same final type.
Reimplemented from MException.
Reimplemented in MECollisionDetected, MEChannelDisconnectedUnexpectedly, MEChannelWriteTimeout, MEChannelReadTimeout, MEC12BadProcedureResult, and MEC12NokResponse.
|
inline |
Assignment operator.
Be careful while using the assignment operator when dealing with children of this class, as the properties of a child might not be copied correctly.
ex | Exception from which to copy this exception. |
|
virtual |
Rethrows this exception.
This polymorphic call is necessary if a generic exception is caught by its base, and had to be saved for future throwing. Simple "throw *ex" will not work in this case, as it will call the copy constructor of the declared exception, not the final class copy constructor.
Reimplemented from MException.
Reimplemented in MECollisionDetected, MEChannelDisconnectedUnexpectedly, MEChannelWriteTimeout, MEChannelReadTimeout, MEC12BadProcedureResult, and MEC12NokResponse.
|
static |
Throws this exception with the parameters given. Analog of the following code:
but saves memory, if there are many throws in the source code. The following is the usage:
|
static |
Throws this exception with the parameters given. Analog of the following code:
but saves memory, if there are many throws in the source code. The following is the usage:
|
static |
Throws this exception with the parameters given. Analog of the following code:
but saves memory, if there are many throws in the source code. The following is the usage:
|
static |
Throws this exception with the parameters given. Analog of the following code:
but saves memory, if there are many throws in the source code. The following is the usage: