Skip to content

Exceptions

Structured exception classes for bloqade-lanes-bytecode.

Each Rust error enum maps to a base exception class. Category-based enums (like ArchSpecError) map to subclasses that carry a descriptive message string. Fine-grained enums (like LaneGroupError, ValidationError) map to subclasses with the variant's fields as attributes.

ArchSpecBusError

ArchSpecBusError(message: str)

Bases: ArchSpecError

Bus topology error (site/word bus structure, membership lists).

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
41
42
def __init__(self, message: str):
    super().__init__(message)

ArchSpecError

ArchSpecError(
    message: str, errors: list[ArchSpecError] | None = None
)

Bases: Exception

Base class for architecture specification validation errors.

When multiple errors are collected, this is raised with an errors attribute containing the individual subclass instances.

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
19
20
21
def __init__(self, message: str, errors: "list[ArchSpecError] | None" = None):
    super().__init__(message)
    self.errors: list[ArchSpecError] = errors or []

ArchSpecGeometryError

ArchSpecGeometryError(message: str)

Bases: ArchSpecError

Word geometry error (site counts, grid indices, grid shape, non-finite values).

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
34
35
def __init__(self, message: str):
    super().__init__(message)

ArchSpecPathError

ArchSpecPathError(message: str)

Bases: ArchSpecError

Transport path error (invalid lanes, waypoint counts, endpoint mismatches).

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
48
49
def __init__(self, message: str):
    super().__init__(message)

ArchSpecZoneError

ArchSpecZoneError(message: str)

Bases: ArchSpecError

Zone configuration error (zone 0 coverage, measurement/entangling zone IDs).

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
27
28
def __init__(self, message: str):
    super().__init__(message)

AtomReloadingNotSupportedError

AtomReloadingNotSupportedError(pc: int)

Bases: ValidationError

Fill instruction requires atom_reloading capability.

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
142
143
144
145
146
def __init__(self, pc: int):
    self.pc = pc
    super().__init__(
        f"pc {pc}: fill instruction requires atom_reloading capability"
    )

DecodeError

Bases: Exception

Base class for instruction decode errors.

DecodeErrorInProgram

DecodeErrorInProgram(message: str)

Bases: ProgramError

A decode error encountered while parsing a binary program.

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
331
332
333
def __init__(self, message: str):
    self.message = message
    super().__init__(f"decode error: {message}")

FeedForwardNotSupportedError

FeedForwardNotSupportedError(pc: int)

Bases: ValidationError

Multiple measure instructions require feed_forward capability.

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
132
133
134
135
136
def __init__(self, pc: int):
    self.pc = pc
    super().__init__(
        f"pc {pc}: multiple measure instructions require feed_forward capability"
    )

LaneGroupError

LaneGroupError(
    message: str, errors: list[LaneGroupError] | None = None
)

Bases: Exception

Base class for lane group validation errors.

When multiple errors are collected, this is raised with an errors attribute containing the individual subclass instances.

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
187
188
189
def __init__(self, message: str, errors: "list[LaneGroupError] | None" = None):
    super().__init__(message)
    self.errors: list[LaneGroupError] = errors or []

LaneValidationError

LaneValidationError(pc: int, error: LaneGroupError)

Bases: ValidationError

Wraps a LaneGroupError with a program counter for bytecode context.

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
123
124
125
126
def __init__(self, pc: int, error: "LaneGroupError"):
    self.pc = pc
    self.error = error
    super().__init__(f"pc {pc}: {error}")

LocationGroupError

LocationGroupError(
    message: str,
    errors: list[LocationGroupError] | None = None,
)

Bases: Exception

Base class for location group validation errors.

When multiple errors are collected, this is raised with an errors attribute containing the individual subclass instances.

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
159
160
161
def __init__(self, message: str, errors: "list[LocationGroupError] | None" = None):
    super().__init__(message)
    self.errors: list[LocationGroupError] = errors or []

LocationValidationError

LocationValidationError(pc: int, error: LocationGroupError)

Bases: ValidationError

Wraps a LocationGroupError with a program counter for bytecode context.

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
114
115
116
117
def __init__(self, pc: int, error: "LocationGroupError"):
    self.pc = pc
    self.error = error
    super().__init__(f"pc {pc}: {error}")

ParseError

Bases: Exception

Base class for SST text format parse errors.

ProgramError

Bases: Exception

Base class for BLQD binary format errors.

ValidationError

ValidationError(
    message: str,
    errors: list[ValidationError] | None = None,
)

Bases: Exception

Base class for bytecode validation errors.

When multiple errors are collected, this is raised with an errors attribute containing the individual subclass instances.

Source code in .venv/lib/python3.12/site-packages/bloqade/lanes/bytecode/exceptions.py
62
63
64
def __init__(self, message: str, errors: "list[ValidationError] | None" = None):
    super().__init__(message)
    self.errors: list[ValidationError] = errors or []