No base class (can't rely on std::exception base)
Primitives as awell as class instances
exception_translator
List of translation rules: a type and parameters for NSException
Default NSException
translate_and_raise()
Same pattern as Saving Exceptions in C++