summaryrefslogtreecommitdiff
path: root/pyasn1/error.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyasn1/error.py')
-rw-r--r--pyasn1/error.py28
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