1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
Exceptions
==========
All of the exceptions raised from PyNaCl-exposed methods/functions
are subclasses of :py:exc:`nacl.exceptions.CryptoError`. This means
downstream users can just wrap cryptographic operations inside a
.. code-block:: python
try:
# cryptographic operations
except nacl.exceptions.CryptoError:
# cleanup after any kind of exception
# raised from cryptographic-related operations
These are the exceptions implemented in :py:mod:`nacl.exceptions`:
PyNaCl specific exceptions
--------------------------
.. class:: CryptoError
Base exception for all nacl related errors
.. class:: BadSignatureError
Raised when the signature was forged or otherwise corrupt.
.. class:: InvalidkeyError
Raised on password/key verification mismatch
PyNaCl exceptions mixing-in standard library ones
-------------------------------------------------
Both for clarity and for compatibility with previous releases
of the PyNaCl, the following exceptions mix-in the same-named
standard library exception to :py:class:`~nacl.exceptions.CryptoError`.
.. class:: RuntimeError
is a subclass of both CryptoError and standard library's
RuntimeError, raised for internal library errors
.. class:: AssertionError
is a subclass of both CryptoError and standard library's
AssertionError, raised by default from
:py:func:`~nacl.utils.ensure` when the checked condition is `False`
.. class:: TypeError
is a subclass of both CryptoError and standard library's
TypeError
.. class:: ValueError
is a subclass of both CryptoError and standard library's
ValueError
|