diff options
Diffstat (limited to 'pyasn1/error.py')
-rw-r--r-- | pyasn1/error.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/pyasn1/error.py b/pyasn1/error.py index 7f606bb..fb23f1d 100644 --- a/pyasn1/error.py +++ b/pyasn1/error.py @@ -13,6 +13,34 @@ class PyAsn1Error(Exception): """ +class PyAsn1StringError(PyAsn1Error, UnicodeError): + """Create pyasn1 exception object + + The `PyAsn1StringError` exception is a base class for errors relating to + string encoding/decoding and other related problems + """ + def __init__(self, message, unicode_error=None): + if isinstance(unicode_error, UnicodeError): + UnicodeError.__init__(self, *unicode_error.args) + PyAsn1Error.__init__(self, message) + + +class PyAsn1StringDecodeError(PyAsn1StringError, UnicodeDecodeError): + """Create pyasn1 exception object + + The `PyAsn1StringDecodeError` exception represents a failure to decode + underlying bytes values to a string + """ + + +class PyAsn1StringEncodeError(PyAsn1StringError, UnicodeEncodeError): + """Create pyasn1 exception object + + The `PyAsn1StringEncodeError` exception represents a failure to encode + underlying string value as bytes + """ + + class ValueConstraintError(PyAsn1Error): """Create pyasn1 exception object |