LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Classes | Functions | Variables
lsst.pex.exceptions.wrappers Namespace Reference

Classes

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

Functions

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

Variables

dictionary registry = {}
 

Function Documentation

◆ declare()

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

Definition at line 153 of file wrappers.py.

153 def 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))))
def declare(module, exception_name, base, wrapped_class)
Definition: wrappers.py:153

◆ register()

def 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.

36 def 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()

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

Definition at line 144 of file wrappers.py.

144 def 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 
table::Key< int > type
Definition: Detector.cc:163

Variable Documentation

◆ registry

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

Definition at line 33 of file wrappers.py.