“银行帐户监管系统”编程心得(三) - 编程点滴 - 李安迪

(这条文章已经被阅读了 131 次) 时间:2001-12-15 03:47:57 来源:李安迪 (cn) 原创-IT

报错函数的使用方法

err_initailize(char * ps_module, 进程名,一般用argv[ 0 ]
char * ps_dbase_id 数据库用户名
char * ps_version_no 版本号
char * ps_version_date 版本日期
);
要使用报错模块,必须先做err_initialize()。另外,报错内容中的System ID是取自全局变量gs_servername的(中err.h中定义),故使用报错模块前也要置该变量的值。

err_set_info( char * ps_err_type , 错误类型,在err.h中定义了宏定义ETYPE_OPSYS,
ETYPE_ORACLE,ETYPE_TOPEND,ETYPE_APPL
Int I_err_no 错误码,在err_code_arch.h中定义了部分宏定义
Int I_severity 错误级别E_SEVERITY_WARNING,
E_SEVERITY_ERROR, E_SEVERITY_FATAL,
E_SEVERITY_NOCHANGE
Char * ps_file __FILE__
Long l_line __LINE__
Char * ps_detail_msg 详细错误信息
) ;
注意:这里char * ps_detail_msg处只能传入一个char * 参数,例如:
要报详细错误信息:( ”txn_date %s is not equal to current date “ , ps_txn_date )则只能:sprintf(s_detail_msg , ”txn_date %s is not equal to current date “ , ps_txn_date );再调用err_set_info( , , ,__FILE__,__LINE__,s_detail_msg);

err_append_info( char * ps_append_info );这里只能传入一个 char * 参数

err_report_info( int I_severity );
I_severity为错误级别。若这里传入E_SEVERITY_NOCHANGE则以err_set_info中的错误级别报错,否则按这里的错误级别报错。

如要增加错误类型,则要在err.h中增加宏定义,如ETYPE_SYBASE
如要增加错误代码,则要在err_code_arch.h中增加err_no的宏定义。另外还要在err_msg_code.h中的gs_error_code_struct数组中曾加err_no与standard_msg的对应关系。例如:要增加错误代码1234则要在err_code_arch.h中定义
#define XXX 1234 其中XXX为宏定义名
还要在err_msg_code.h的gs_error_code_struct [ ] 中增加元素:
{ XXX , “standard_msg_of_XXX” } ,其中XXX为上面定义的宏定义名,后面的字符串就是错误码1234的标准错误信息。

文章评论:“银行帐户监管系统”编程心得(三) - cytihuntor - 2001-12-15 20:13:35

什么心得?不就是几行代码吗?