LSST Applications g0b6bd0c080+a72a5dd7e6,g1182afd7b4+2a019aa3bb,g17e5ecfddb+2b8207f7de,g1d67935e3f+06cf436103,g38293774b4+ac198e9f13,g396055baef+6a2097e274,g3b44f30a73+6611e0205b,g480783c3b1+98f8679e14,g48ccf36440+89c08d0516,g4b93dc025c+98f8679e14,g5c4744a4d9+a302e8c7f0,g613e996a0d+e1c447f2e0,g6c8d09e9e7+25247a063c,g7271f0639c+98f8679e14,g7a9cd813b8+124095ede6,g9d27549199+a302e8c7f0,ga1cf026fa3+ac198e9f13,ga32aa97882+7403ac30ac,ga786bb30fb+7a139211af,gaa63f70f4e+9994eb9896,gabf319e997+ade567573c,gba47b54d5d+94dc90c3ea,gbec6a3398f+06cf436103,gc6308e37c7+07dd123edb,gc655b1545f+ade567573c,gcc9029db3c+ab229f5caf,gd01420fc67+06cf436103,gd877ba84e5+06cf436103,gdb4cecd868+6f279b5b48,ge2d134c3d5+cc4dbb2e3f,ge448b5faa6+86d1ceac1d,gecc7e12556+98f8679e14,gf3ee170dca+25247a063c,gf4ac96e456+ade567573c,gf9f5ea5b4d+ac198e9f13,gff490e6085+8c2580be5c,w.2022.27
LSST Data Management Base Package
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

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.

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

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

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.

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