12.11 Error Handling

<< Click to Display Table of Contents >>

Navigation:  ASA-EMulatR Reference Guide > Introduction > Architecture Overview > Chapter 12 – AlphaCPU Core >

12.11 Error Handling

AlphaCPU defines four error severity levels:

 

enum class ErrorSeverity {

 WARNING, // Log only

 RECOVERABLE, // Queue fault, continue

 FATAL, // Halt CPU

 MACHINE_CHECK // Alpha machine check exception

};

 

Each severity maps to a handler: handleWarning() logs only, handleRecoverableError() queues a fault via FaultDispatcher, handleFatalError() halts the CPU and emits fatalError(cpuId, message) signal, handleMachineCheck() raises an architectural machine check exception.

 

The executeLoop() is wrapped in try/catch — any unhandled std::exception emits fatalError and triggers shutdownGracefully(). Undefined behavior is not permitted.

 

See Also: 7.7 Priority Ordering (machine check is highest priority).