OWLNext 7.0
Borland's Object Windows Library for the modern age
|
TXOwl is root class of the ObjectWindows exception hierarchy. More...
#include <owl/except.h>
Public Member Functions | |
TXOwl (const tstring &msg, uint resId=0) | |
An OWL exception with a given message for displaying and an unsigned Id that can be used for identification or loading a string. | |
TXOwl (uint resId, TModule *module=&GetGlobalModule()) | |
An OWL exception with a given unsigned Id that can is used for loading a message string & identification. | |
virtual | ~TXOwl () |
Destroys a TXOwl object. | |
TXOwl * | Clone () |
void | Throw () |
Throws the exception object. | |
virtual int | Unhandled (TModule *appModule, uint promptResId) |
Per-exception class unhandled-handler, will default to the per-module unhandled-handler. | |
uint | GetErrorCode () const |
Returns the resource ID. | |
Public Member Functions inherited from owl::TXBase | |
TXBase (const tstring &msg) | |
Calls the xmsg class's constructor that takes a string parameter and initializes xmsg with the value of the string parameter. | |
TXBase (const TXBase &src) | |
Creates a copy of the TXBase object passed in the TXBase parameter. | |
virtual | ~TXBase () |
const char * | what () const noexcept |
TXBase &_RTLENTRY | operator= (const TXBase &src) |
tstring | why () const |
Static Public Member Functions | |
static tstring | ResourceIdToString (bool *found, uint resId, TModule *module=&GetGlobalModule()) |
Static member function used to convert a resource id to a 'string'. | |
static tstring | MakeMessage (uint resId, const tstring &infoStr, TModule *module=&GetGlobalModule()) |
static tstring | MakeMessage (uint resId, LPCTSTR infoStr, TModule *module=&GetGlobalModule()) |
Extension to string loader adds the feature of sprintf'ing an additional information string into the resource message string. | |
static tstring | MakeMessage (uint resId, uint infoNum, TModule *module=&GetGlobalModule()) |
This extension to the string loader adds the feature of sprintf'ing an additional information string into the resource message string. | |
static void | Raise (const tstring &msg, uint resId=0) |
static void | Raise (uint resId, TModule *module=&GetGlobalModule()) |
Static Public Member Functions inherited from owl::TXBase | |
static void | Raise (const tstring &msg) |
Constructs a TXBase exception from scratch, and throws it. | |
Public Attributes | |
uint | ResId |
Resource ID for a TXOwl object. | |
Additional Inherited Members | |
Protected Attributes inherited from owl::TXBase | |
std::string | str |
TXOwl is root class of the ObjectWindows exception hierarchy.
TXOwl is a parent class for several classes designed to describe exceptions.
In most cases, you derive a new class from TXOwl instead of using this one directly. The ObjectWindows classes derived from TXOwl include
TXCompatibility Describes
an exception that occurs if TModule::Status is not zeroTXValidator Describes
an exception that occurs if there is an invalid validator expressionTXWindow Describes
an exception that results from trying to create an invalid windowTXGdi Describes
an exception that results from creating an invalid GDI objectTXInvalidMainWindow Describes
an exception that results from creating an invalid main windowTXMenu Describes
an exception that occurs when a menu object is invalidTXInvalidModule Describes
an exception that occurs if a TModule object is invalidTXPrinter Describes
an exception that occurs if a printer device context is invalidTXOutOfMemory Describes
an exception that occurs if an out of memory error occursEach of the exception classes describes a particular type of exception. When your program encounters a given situation that's likely to produce this exception, it passes control to the specified exception-handling object. If you use exceptions in your code, you can avoid having to scatter error-handling procedures throughout your program.
To create an exception handler, place the keyword try before the block of code that might produce the abnormal condition (the code that might generate an exception object) and the keyword catch before the block of code that follows the try block. If an exception is thrown within the try block, the classes within each of the subsequent catch clauses are checked in sequence. The first one that matches the class of the exception object is executed.
The following example from MDIFILE.CPP, a sample program on BC5.0x distribution disk, shows how to set up a try/catch block around the code that might throw an exception.