C12Adapter Opensource C++ Interface
|
Exception, Error during mathematical operation. More...
Public Member Functions | |
MEMath () | |
Constructor. | |
MEMath (const MEMath &) | |
Copy constructor. | |
virtual | ~MEMath () |
Destructor. | |
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 void | ClearMathError () |
Clear the math related error. More... | |
static void | BeforeDoingMath () |
Prepare for checking of math function parameters. More... | |
static void | AfterDoingMath (double result, const char *operationName=NULL) |
Check the result of the execution of math function. More... | |
static MEMath * | New () |
Create a new exception of this type, all parameters are clear. | |
static M_NORETURN_FUNC void | Throw () |
Helper reflection-enabling Throw service. | |
![]() | |
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. | |
Exception, Error during mathematical operation.
These are raised by class MMath for its functions such as Sqrt in case the parameters are wrong.
|
static |
Check the result of the execution of math function.
This is where the math error checking is done. Exception MEMath is raised in case the function had bad parameters. Bad parameters condition is when result is NaN and/or when errno is set.
result | Result of the operation, NaN will be reported as error. |
operationName | Name of the operation which caused the error. |
|
inlinestatic |
Prepare for checking of math function parameters.
This has to be called before executing any math related operation. Operating system and compiler dependent implementation will clear the flags responsible for math error checking, so the mathematical call can be performed.
|
static |
Clear the math related error.
Operating system and compiler dependent implementation will clear the flags responsible for math error checking, so the mathematical call can be performed.
|
virtual |
Clone the exception, so the new exception has the same final type.
Reimplemented from MException.
|
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.