diff --git a/src/runtime/src/eh_artiq.rs b/src/runtime/src/eh_artiq.rs index 4cd3ba4..8ed519c 100644 --- a/src/runtime/src/eh_artiq.rs +++ b/src/runtime/src/eh_artiq.rs @@ -405,19 +405,27 @@ extern fn stop_fn(_version: c_int, } } -// Must be kept in sync with preallocate_runtime_exception_names() in artiq/language/embedding_map.py -static EXCEPTION_ID_LOOKUP: [(&str, u32); 11] = [ - ("RuntimeError", 0), - ("RTIOUnderflow", 1), - ("RTIOOverflow", 2), - ("RTIODestinationUnreachable", 3), - ("DMAError", 4), - ("I2CError", 5), - ("CacheError", 6), - ("SPIError", 7), - ("ZeroDivisionError", 8), +// Must be kept in sync with preallocate_runtime_exception_names() in `artiq.compiler.embedding` +static EXCEPTION_ID_LOOKUP: [(&str, u32); 19] = [ + ("RTIOUnderflow", 0), + ("RTIOOverflow", 1), + ("RTIODestinationUnreachable", 2), + ("DMAError", 3), + ("I2CError", 4), + ("CacheError", 5), + ("SPIError", 6), + ("AssertionError", 7), + ("AttributeError", 8), ("IndexError", 9), - ("UnwrapNoneError", 10), + ("IOError", 10), + ("KeyError", 11), + ("NotImplementedError", 12), + ("OverflowError", 13), + ("RuntimeError", 14), + ("TimeoutError", 15), + ("TypeError", 16), + ("ValueError", 17), + ("ZeroDivisionError", 18), ]; pub fn get_exception_id(name: &str) -> u32 {