Previous: Controlling the library, Up: Generalities [Contents][Index]
Many functions in Libgcrypt can return an error if they fail. For this reason, the application should always catch the error condition and take appropriate measures, for example by releasing the resources and passing the error up to the caller, or by displaying a descriptive message to the user and cancelling the operation.
Some error values do not indicate a system error or an error in the operation, but the result of an operation that failed properly. For example, if you try to decrypt a tampered message, the decryption will fail. Another error value actually means that the end of a data buffer or list has been reached. The following descriptions explain for many error codes what they mean usually. Some error values have specific meanings if returned by a certain functions. Such cases are described in the documentation of those functions.
Libgcrypt uses the libgpg-error
library. This allows to share
the error codes with other components of the GnuPG system, and to pass
error values transparently from the crypto engine, or some helper
application of the crypto engine, to the user. This way no
information is lost. As a consequence, Libgcrypt does not use its own
identifiers for error codes, but uses those provided by
libgpg-error
. They usually start with GPG_ERR_
.
However, Libgcrypt does provide aliases for the functions defined in libgpg-error, which might be preferred for name space consistency.
Most functions in Libgcrypt return an error code in the case of failure. For this reason, the application should always catch the error condition and take appropriate measures, for example by releasing the resources and passing the error up to the caller, or by displaying a descriptive message to the user and canceling the operation.
Some error values do not indicate a system error or an error in the operation, but the result of an operation that failed properly.
GnuPG components, including Libgcrypt, use an extra library named libgpg-error to provide a common error handling scheme. For more information on libgpg-error, see the according manual.
• Error Values: | The error value and what it means. | |
• Error Sources: | A list of important error sources. | |
• Error Codes: | A list of important error codes. | |
• Error Strings: | How to get a descriptive string from a value. |
Previous: Controlling the library, Up: Generalities [Contents][Index]