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