LSST Applications g0265f82a02+0e5473021a,g02d81e74bb+0dd8ce4237,g1470d8bcf6+3ea6592b6f,g2079a07aa2+86d27d4dc4,g2305ad1205+5ca4c0b359,g295015adf3+d10818ec9d,g2a9a014e59+6f9be1b9cd,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g3ddfee87b4+703ba97ebf,g487adcacf7+4fa16da234,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+ffa42b374e,g5a732f18d5+53520f316c,g64a986408d+0dd8ce4237,g858d7b2824+0dd8ce4237,g8a8a8dda67+585e252eca,g99cad8db69+d39438377f,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+f1d96605c8,gb0e22166c9+60f28cb32d,gb6a65358fc+0e5473021a,gba4ed39666+c2a2e4ac27,gbb8dafda3b+e5339d463f,gc120e1dc64+da31e9920e,gc28159a63d+0e5473021a,gcf0d15dbbd+703ba97ebf,gdaeeff99f8+f9a426f77a,ge6526c86ff+889fc9d533,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gf18bd8381d+7268b93478,gff1a9f87cc+0dd8ce4237,w.2024.16
LSST Data Management Base Package
Loading...
Searching...
No Matches
Classes | Functions | Variables
lsst.pex.exceptions.wrappers Namespace Reference

Classes

class  DomainError
 
class  Exception
 
class  ExceptionMeta
 
class  InvalidParameterError
 
class  IoError
 
class  LengthError
 
class  LogicError
 
class  NotFoundError
 
class  OutOfRangeError
 
class  OverflowError
 
class  RangeError
 
class  RuntimeError
 
class  TypeError
 
class  UnderflowError
 

Functions

 register (cls)
 
 translate (cpp)
 
 declare (module, exception_name, base, wrapped_class)
 

Variables

dict registry = {}
 

Function Documentation

◆ declare()

lsst.pex.exceptions.wrappers.declare ( module,
exception_name,
base,
wrapped_class )
Declare a new exception.

Definition at line 153 of file wrappers.py.

153def declare(module, exception_name, base, wrapped_class):
154 """Declare a new exception."""
155 setattr(module, exception_name, register(ExceptionMeta(exception_name, (base, ),
156 dict(WrappedClass=wrapped_class))))

◆ register()

lsst.pex.exceptions.wrappers.register ( cls)
A Python decorator that adds a Python exception wrapper to the registry that maps C++ Exceptions
to their Python wrapper classes.

Definition at line 36 of file wrappers.py.

36def register(cls):
37 """A Python decorator that adds a Python exception wrapper to the registry that maps C++ Exceptions
38 to their Python wrapper classes.
39 """
40 registry[cls.WrappedClass] = cls
41 return cls
42
43

◆ translate()

lsst.pex.exceptions.wrappers.translate ( cpp)
Translate a C++ Exception instance to Python and return it.

Definition at line 144 of file wrappers.py.

144def translate(cpp):
145 """Translate a C++ Exception instance to Python and return it."""
146 PyType = registry.get(type(cpp), None)
147 if PyType is None:
148 warnings.warn("Could not find appropriate Python type for C++ Exception")
149 PyType = Exception
150 return PyType(cpp)
151
152

Variable Documentation

◆ registry

dict lsst.pex.exceptions.wrappers.registry = {}

Definition at line 33 of file wrappers.py.