第十四章 错误处理 / 14.3 主要函数

1)    ERR_add_error_data

在本层错误的err_data元素中添加说明信息。该函数一般由各个模块调用,比如可以用它说明什么操作导致了错误。

2  ERR_clear_error

清除所有的错误信息。如果不清楚所有错误信息,可能会有其他无关错误遗留在ERR_STATE表中。

3  ERR_error_string/ ERR_error_string_n

根据错误码获取具体的错误信息,包括出错的库、出错的函数以及错误原因。

4)   ERR_free_strings

释放错误信息哈希表;通常在最后调用。

5)   ERR_func_error_string

根据错误号,获取出错的函数信息。

6ERR_get_err_state_table

获取存放错误的哈希表。

7ERR_get_error

获取第一个错误号。

8)    ERR_get_error_line

根据错误号,获取错误的行号。

9)    ERR_get_error_line_data

根据错误号,获取出错信息。

10)  ERR_get_implementation

获取错误处理函数,与哈希表操作相关。

       11ERR_get_state

              获取ERR_STATE表。

       12ERR_lib_error_string

              根据错误号,获取是哪个库出错。

       13ERR_load_strings

              加载错误信息,由各个模块调用。

14ERR_load_ASN1_strings

ERR_load_BIO_strings

ERR_load_BN_strings

ERR_load_BUF_strings

ERR_load_COMP_strings

ERR_load_CONF_strings

              ERR_load_CRYPTO_strings

ERR_load_crypto_strings

ERR_load_DH_strings

ERR_load_DSA_strings

ERR_load_DSO_strings

ERR_load_EC_strings

ERR_load_ENGINE_strings

ERR_load_ERR_strings

ERR_load_EVP_strings

ERR_load_OBJ_strings

ERR_load_OCSP_strings

ERR_load_PEM_strings

ERR_load_PKCS12_strings

ERR_load_PKCS7_strings

ERR_load_RAND_strings

ERR_load_RSA_strings

ERR_load_UI_strings

ERR_load_X509_strings

ERR_load_X509V3_strings

各个模块实现的,加载各自错误信息。

       15ERR_peek_error

              获取第一个错误号。

       16ERR_peek_error_line

              获取第一个错误的出错行。

17ERR_peek_error_line_data

       获取第一个错误的行数和错误信息。

18ERR_peek_last_error

       获取最后一个错误号。

19ERR_peek_last_error_line

       获取最后一个错误的行号。

20ERR_peek_last_error_line_data

       获取最后一个错误的行号和错误信息。

21ERR_print_errors

       将错误信息输出到bio中。

22ERR_print_errors_cb

       根据用户设置的回调函数来打印错误信息。

23ERR_print_errors_fp

       将错误打印到FILE中。

24)  ERR_put_error

将错误信息存放到ERR_STATE 表中top指定的错误堆栈(最后的错误)

25)  ERR_reason_error_string

根据错误号得到错误原因。

26)  ERR_remove_state

删除线程相关的错误信息。

27)  ERR_set_error_data

将错误信息存放到ERR_STATE 表中top指定的错误堆栈(最后的错误)

28)  ERR_unload_strings

从错误哈希表中删除相关信息。