armfly 发表于 2015-10-21 00:37:17

try  catch可以处理各种异常

书上说catch可以处理各种异常,功能强大。


int a;
try
{
   a=StrToInt("12s");
}
catch(...)
{
    a=0;
}

超级简单得例子


=============
int aa,bb,xx;
bb=0;
try
    {

   if(bb==0)
      throw EDivByZero("bb不能为零!");

      xx=aa/bb;

    }
catch(EDivByZero &E)//VCL Exception类的子类
    {
   ShowMessage(E.Message);
    }
catch(Exception &E) //所有VCL异常类的基类
    {
   ShowMessage(E.Message);
    }
catch(...)   //捕获所有异常
    {

    }



================
我一般是这样做的:
try
{
让计算机做你想做的事情.
}
catch(...)
{
    告诉计算机,你想做的事没做成该怎么办.
}
:)


==== 经典 =============


经典:
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}

页: [1]
查看完整版本: try  catch可以处理各种异常