com+开发时,向客户断发送错误信息有何好方法?

解决方案 »

  1.   

    最好用函数返回值
    type
      TMyArray=array[0..9] of string;
    procedure GetTableData(SQL:string;var ErrorArray:TMyArray);
    用在3层的时候string类型会有问题,改成pchar或char就可以了
    type 
      TMyError=array[0..254] of char;
      TmyArray=array[0..9] of TMyError;
    要不就定义错误编码……
      

  2.   

    我一般采取触发异常的方式;异常的好处是,可以不需考虑过多的if...then...,减少程序的烦琐;但是异常只有一个字符串,而没有ID,所以很难根据异常的类型来区分处理;所以在客户端可能采取自己定义异常,为Exception的子类;
        但是在com+组件中,向客户端或其他组件发送异常时,自定义的异常将很难发送到客户端或其他组件,所以建议还是在异常的消息字符串内部下文章;
        在异常消息字符串定义自己的结构,可能采用分级码结构,以实现自己独特的异常继承树;