Handling Exceptions using try catch within C++ including why not to throw in a destructor

(Last Updated On: May 17, 2010)
Learn the Secret

Get  our 2 Free Books

Get these now which land directly to their inbox.
Invalid email address

Handling Exceptions using try catch within C++ including why not to throw in a destructor
Here is an example typical try catch exception within C++ :

#include
#include

using namespace std;

class A {
~A() {
//throw new A; //this works but not suggested to throw in destructor
}
};

void foo()
{

throw new A;

}

int main()
{

try
{
foo();
}
catch (A * e)
{
cout<< "c works"; } catch (A & e) { cout<< "e works"; } return 0; } Compiler will always take care of the terminate() function call. Do not call throw from the destructor as it can cause stack corruption. It should only be logged. Remember destructors are called during the stack unwinding process. The run time system will then need to choose between handling the newly thrown exception (from destructor) or to handle the exception that already being processed. The run time system may also choose to terminate the application. You should always use an auto pointer for deleting exceptions. Exceptions are commonly called from constructors but this can be expensive. This can compile: #include
using namespace std;

// Example 1(a): Constructor function-try-block
//
class C {
C::C() {

try
{
int x=0;
}

catch( … )
{}
}
};

int main() {
return 0;
}

The best way to handle exceptions in constructors is to throw them since they have no return types.

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!
This entry was posted in Quant Development and tagged , , , , on by .

About caustic

Hi i there My name is Bryan Downing. I am part of a company called QuantLabs.Net This is specifically a company with a high profile blog about technology, trading, financial, investment, quant, etc. It posts things on how to do job interviews with large companies like Morgan Stanley, Bloomberg, Citibank, and IBM. It also posts different unique tips and tricks on Java, C++, or C programming. It posts about different techniques in learning about Matlab and building models or strategies. There is a lot here if you are into venturing into the financial world like quant or technical analysis. It also discusses the future generation of trading and programming Specialties: C++, Java, C#, Matlab, quant, models, strategies, technical analysis, linux, windows P.S. I have been known to be the worst typist. Do not be offended by it as I like to bang stuff out and put priorty of what I do over typing. Maybe one day I can get a full time copy editor to help out. Do note I prefer videos as they are much easier to produce so check out my many video at youtube.com/quantlabs