想在程序中搞一个统一的异常处理机制,报错可以统一起来,就如同微软和QQ那样,出错之后可以有报告机制,提示是否发送错误什么的,然后统一进行错误代码定义。  有没有比较好的经验介绍? 或者相关的源码? 小弟跪谢!

解决方案 »

  1.   

    ApplicationEvents1 的 onException 事件
      

  2.   

    http://www.eurekalog.com/http://www.madcodehook.com/上面的現成的, 已經完成你要的東西, 安裝後直接用就可
      

  3.   

    可以的。。一般可以運用 delphi自己的異常機制,可以得到出錯得源碼所在文件名,大致行數(不是特別精確),客戶端機器名,時間等等,當然你還可以定義其它得信息,尤其是數據庫錯誤得話,還可以獲得數據庫返回得錯誤代碼,可以自己進行解析,比如說從英文提示信息到中文提示信息得翻譯等 我以前是這麼處理得:  try
        
      except
        on E: Exception do
        begin
          try
            Assert(False);
          except
            on E1: Exception do
              CommErrLogU.GetAssertInfo(e1.Message, FormName, Line); // here: 獲得出錯得文件名,函數等
          end;
          CommErrLogU.DealException('1', FormName, Line, e.Message); // here: 獲得數據庫得出錯代碼,信息等,並寫到數據庫或者文件
          Exit;
        end;
      end;