一般
try..catch块语句都用在函数体内,但是也有例外的时候,对于作者这种懒人,写语句能省则省。看看我是怎么操作的吧。
{},实则下面这段函数是没问题的。void func()
try {
    printf("This is a function.");
}
catch (...) {
}void func() 
{
    try {
        printf("This is a function.");
    }
    catch (...) {
    }
}先看看try块的语法:
一般以下形式表示:
catch称为处理块序列(可以是多个)catch)中。try {
	...
}
catch (...) {
	...
}解开魔法
当然有用啦。存在即合理,这魔法当然需要做点什么啦?!
class A
{
public:
    A(int count) try : m_count(count) {
     	new B();
     	...
     	throw;
    }
    catch (...) {
    	// 清空构造函数所产生的内存, 如清空new B()申请的内存。
    }
    ~A() try {
    }
    catch (...) {
    }
private:
    int m_count;
};DEBUG宏即能使用try...catch机制。void func()
#ifdef DEBUG
try
#endif
{
	... // 一些操作
}
#ifdef DEBUG
catch(...) {
}
#endif  /* DEBUG */