王彬 程序员 王彬 ASP PHP C# .NET AJAX 笔记

我的PHP,.NET开源之路

  有人说了try ...catch...不就是抛出异常以文本形式显示出来么?if...else...也可以阿.else里面写showmessage不就可以么???
 首先try提捕获异常的,即异常并不是我们能预先知道的,所以不能用if什么条件来判断的。异常是需要在程序的运行中进行捕获的。
  举个例子来看看吧:
   int a=200,b=0;
    int c;
    try
    {
      c=a/b;
    }
    catch(...)
   {
      ShowMessage("Can   not   devided   by   zero!");
   }
可是如果上面的例子用if…else…,就不能够显示else后面的结果了。

   的确,   if可以进行简单的过滤,   但是,   由于机器或者说环境各异, 可能会产生一些无法预知的异常,   这是在开发阶段无法预知的,  所以就要用try...catch来捕捉,   而if是无法做到的.   
   从程序结构上来说:  
   
  if…else…属于程序结构中的分支结构;  
  try…catch…应该属于程序结构中的顺序结构,虽然说在出现异常的时候编译器会跳到捕获异常的入口处,但这和传统意义上的if…else…结构存在根本性的差别.
 当不可预知有什么异常的时候,用try   
 
  当过多情况需要处理,用if就会太繁琐  
  当你需要观察的代码没有返回值的时候,if()当中没法作判断,必须用try   
  大致就是这3种情况
 
  还有就是:意义不一样,异常是在运行时不定出现的。

posted on 2007-12-13 16:40  wangbin  阅读(2071)  评论(0编辑  收藏  举报