/**
* Custom error classes for the Ladder Engine
*/
export class LadderError extends Error {
constructor(message) {
super(message);
this.name = 'LadderError';
}
}
export class InvalidMemoryAccessError extends LadderError {
constructor(address) {
super(`Invalid memory access at address: ${address}`);
this.name = 'InvalidMemoryAccessError';
}
}
export class CircularLogicError extends LadderError {
constructor(rungId) {
super(`Circular logic detected in rung: ${rungId}`);
this.name = 'CircularLogicError';
}
}
export class MathOperationError extends LadderError {
constructor(operation, details) {
super(`Math operation error (${operation}): ${details}`);
this.name = 'MathOperationError';
}
}