请选择 进入手机版 | 继续访问电脑版

硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5205|回复: 0
收起左侧

try  catch可以处理各种异常

[复制链接]

747

主题

1048

回帖

3294

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3294
发表于 2015-10-21 00:37:17 | 显示全部楼层 |阅读模式
书上说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;
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-3-29 20:24 , Processed in 0.243515 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表