1# 2# This file is part of pyasn1 software. 3# 4# Copyright (c) 2005-2019, Ilya Etingof <[email protected]> 5# License: http://snmplabs.com/pyasn1/license.html 6# 7 8 9class PyAsn1Error(Exception): 10 """Base pyasn1 exception 11 12 `PyAsn1Error` is the base exception class (based on 13 :class:`Exception`) that represents all possible ASN.1 related 14 errors. 15 """ 16 17 18class ValueConstraintError(PyAsn1Error): 19 """ASN.1 type constraints violation exception 20 21 The `ValueConstraintError` exception indicates an ASN.1 value 22 constraint violation. 23 24 It might happen on value object instantiation (for scalar types) or on 25 serialization (for constructed types). 26 """ 27 28 29class SubstrateUnderrunError(PyAsn1Error): 30 """ASN.1 data structure deserialization error 31 32 The `SubstrateUnderrunError` exception indicates insufficient serialised 33 data on input of a de-serialization codec. 34 """ 35 36 37class PyAsn1UnicodeError(PyAsn1Error, UnicodeError): 38 """Unicode text processing error 39 40 The `PyAsn1UnicodeError` exception is a base class for errors relating to 41 unicode text de/serialization. 42 43 Apart from inheriting from :class:`PyAsn1Error`, it also inherits from 44 :class:`UnicodeError` to help the caller catching unicode-related errors. 45 """ 46 def __init__(self, message, unicode_error=None): 47 if isinstance(unicode_error, UnicodeError): 48 UnicodeError.__init__(self, *unicode_error.args) 49 PyAsn1Error.__init__(self, message) 50 51 52class PyAsn1UnicodeDecodeError(PyAsn1UnicodeError, UnicodeDecodeError): 53 """Unicode text decoding error 54 55 The `PyAsn1UnicodeDecodeError` exception represents a failure to 56 deserialize unicode text. 57 58 Apart from inheriting from :class:`PyAsn1UnicodeError`, it also inherits 59 from :class:`UnicodeDecodeError` to help the caller catching unicode-related 60 errors. 61 """ 62 63 64class PyAsn1UnicodeEncodeError(PyAsn1UnicodeError, UnicodeEncodeError): 65 """Unicode text encoding error 66 67 The `PyAsn1UnicodeEncodeError` exception represents a failure to 68 serialize unicode text. 69 70 Apart from inheriting from :class:`PyAsn1UnicodeError`, it also inherits 71 from :class:`UnicodeEncodeError` to help the caller catching 72 unicode-related errors. 73 """ 74 75 76