Frontend::Exception Class Reference

Exception class used for reporting all Frontend-related errors. More...

#include <Exception.h>

Inheritance diagram for Frontend::Exception:

Frontend::Object Frontend::Net::ConnectionLostException List of all members.

Public Types

enum  ErrorCode {
  Unknown, BackendNotCapable, DeviceNotCapable, InvalidOperation,
  InvalidEnum, ShaderCompileFailed, Other
}
 Enumerates the Frontend standard error codes. More...

Public Member Functions

virtual ErrorCode GetErrorCode ()
 Returns the error code of the exception.
virtual String GetMessage ()
 Returns a detailed error string describing the exception.
 Exception (String message, ErrorCode code)
 Creates a new exception.
 Exception (String message)
 Creates a new exception.
void AddRef ()
 Adds a reference to the object.
void Release ()
 Releases a reference on the object.
unsigned int GetRefCount ()
 Returns the number of references on the object.

Protected Attributes

ErrorCode errorCode
String message

Detailed Description

Exception class used for reporting all Frontend-related errors.


Member Enumeration Documentation

enum Frontend::Exception::ErrorCode
 

Enumerates the Frontend standard error codes.

Enumerator:
Unknown  The cause of the error is unknown, probably a bug in the implementation.
BackendNotCapable  The implementation you are using is not capable of performing the requested implementation-specific operation.

This error does not imply a Frontend-incapability, as the requested operation is not part of the Frontend standard. See the documentation of the implementation you are using for more information.

DeviceNotCapable  The device you are using is not capable of performing the requested Frontend-standard operation.

This implies that the device is not fully Frontend-capable or that you are using a feature that is not neccessary for Frontend-capability. See the documentation of the function which gave the error for more information.

InvalidOperation  You have performed an operation which is illegal according to the Frontend specification.

See the documentation of the function which gave the error for more information.

InvalidEnum  You have passed an enum to a function which exceeds the enums allowed by the Frontend specification.

See the documentation of the function which gave the error for more information.

ShaderCompileFailed  The shading system returned an error while compiling a shader source.

The error message of the exception will contain a detailed description of the problem including the output from the shader compiler.

Other  An obscure problem has occured.

The error message will describe the problem in detail.


Constructor & Destructor Documentation

Frontend::Exception::Exception String  message,
ErrorCode  code
 

Creates a new exception.

Parameters:
message A detailed error message describing the problem.
code An ErrorCode enum suitable for the problem.

Frontend::Exception::Exception String  message  ) 
 

Creates a new exception.

Parameters:
message A detailed error message describing the problem.


Member Function Documentation

void Frontend::Object::AddRef  )  [inherited]
 

Adds a reference to the object.

Aqcuires an additional ownership on the object. The object will not be deleted until all owners have called Release() on it.

See also:
Release()

virtual ErrorCode Frontend::Exception::GetErrorCode  )  [virtual]
 

Returns the error code of the exception.

Returns:
the error code of the exception.

virtual String Frontend::Exception::GetMessage  )  [virtual]
 

Returns a detailed error string describing the exception.

Returns:
a detailed error string describing the exception.

unsigned int Frontend::Object::GetRefCount  )  [inline, inherited]
 

Returns the number of references on the object.

Returns:
The number of references on the object.

void Frontend::Object::Release  )  [inherited]
 

Releases a reference on the object.

If you are an owner of an object, use this function to release it when you are done with it. The object will not be deleted until all owners have called Release() on it.


Member Data Documentation

ErrorCode Frontend::Exception::errorCode [protected]
 

String Frontend::Exception::message [protected]
 


The documentation for this class was generated from the following file: