就整个软件系统而言,我得考虑以下异常:
   1.串口殿堂
   2.网络异常
   3.读写ini文件异常
   4.内存操作异常
   5.缓冲异常
   6.指针异常
   7.类型转化异常.比如字符形转成整形
由于对异常的操作不一致,我并不都相把它放在Try ...Except ..end中进行操作.因为我觉得有的异常不至于让程序退出.比如网络异常中出现10061.服务器没有开启.在这个时候我们可以提示用户去开启服务器.但有的异常不能.比如指针异常.
我想能不能通过某种方式,把这些异常收集起来.比如放到Tmemo中去.统一由memo来提示.请高手们给出你们宝贵的意见!

解决方案 »

  1.   

    其实用Try ...Except ..end就能判断出大多数的异常了
      

  2.   

    那要想使用规则化输出呢?比如能把错误收集起来,发到自己的email中,或者在退出时显示memo.这些功能我在一些程序中看到过.但不知道怎么实现的.
      

  3.   


        try
          SMTP.Connect(-1);
          SMTP.Send(MailMessage);
          result := 'Send mail sucess';
        except on E: Exception do
           messagebox(application.handle,e.message,'Notice',mb_ok);       
        end;
    //==一般这样显示你的错误信息
    //==不提议把系统错误信息显示出来
    //==我们要尽量处理可以预知的错误
    //==不可预知的错误一般try2次,不行就告诉用户Unknow Error;
      

  4.   

    你可以定义一个自己的函数,在里面发email和把错误信息加到memo中,然后在excption里面调用这个方法即可
      

  5.   

    在TApplicationEvents.OnException中处理