This is an old revision of the document!
Each ARM exception is caused by a synchronous or asynchronous event and generally causes the processor to switch its state and jump to its proper exception vector.
Exception classes and their corresponding exception methods have to be specified in the configuration. Instances of these classes are never created and therefore the object constructors are defined as synthetic and will not be translated into code.
The code generator has to create a special exception stack frame.
The ARM architecture reserves 4 bytes of memory at each exception vector. This is just enough to place a branching instruction there which causes the processor to jump to the right exception code.