1"""
2<Program Name>
3 exceptions.py
4
5<Author>
6 Geremy Condra
7 Vladimir Diaz <vladimir.v.diaz@gmail.com>
8
9<Started>
10 VD: April 4, 2012 Revision.
11
12<Copyright>
13 See LICENSE for licensing information.
14
15<Purpose>
16 Define exceptions. The names chosen for exception classes should end in
17 'Error' (except where there is a good reason not to).
18"""
19
20
21class Error(Exception):
22 """Indicate a generic error."""
23
24
25class FormatError(Error):
26 """Indicate an error while validating an object's format."""
27
28
29class UnsupportedAlgorithmError(Error):
30 """Indicate an error while trying to identify a user-specified algorithm."""
31
32
33class UnsupportedLibraryError(Error):
34 """Indicate that a supported library could not be located or imported."""
35
36
37class StorageError(Error):
38 """Indicate an error occured during interaction with an abstracted storage
39 backend."""
40
41
42class UnverifiedSignatureError(Error):
43 """Signature could not be verified: either signature was incorrect or
44 something failed during process (see VerificationError)"""
45
46
47class VerificationError(UnverifiedSignatureError):
48 """Signature could not be verified because something failed in the process"""