/** * 域名模型相关异常 */ /** * 域名模型异常基类 */ export class DomainModelError extends Error { constructor(message: string, public code?: string) { super(message); this.name = 'DomainModelError'; Object.setPrototypeOf(this, DomainModelError.prototype); } } /** * 初始化错误 - 数据库连接或配置相关错误 */ export class InitializationError extends DomainModelError { constructor(message: string) { super(message, 'INITIALIZATION_ERROR'); this.name = 'InitializationError'; Object.setPrototypeOf(this, InitializationError.prototype); } } /** * 数据验证错误 - 输入数据不符合验证规则 */ export class ValidationError extends DomainModelError { constructor(message: string, public field?: string) { super(message, 'VALIDATION_ERROR'); this.name = 'ValidationError'; Object.setPrototypeOf(this, ValidationError.prototype); } } /** * 资源不存在错误 - 请求的资源不存在 */ export class NotFoundError extends DomainModelError { constructor(message: string, public resourceId?: string) { super(message, 'NOT_FOUND_ERROR'); this.name = 'NotFoundError'; Object.setPrototypeOf(this, NotFoundError.prototype); } } /** * 资源冲突错误 - 资源已存在或违反唯一性约束 */ export class ConflictError extends DomainModelError { constructor(message: string) { super(message, 'CONFLICT_ERROR'); this.name = 'ConflictError'; Object.setPrototypeOf(this, ConflictError.prototype); } } /** * 数据库操作错误 - 数据库操作失败 */ export class DatabaseError extends DomainModelError { constructor(message: string, public originalError?: any) { super(message, 'DATABASE_ERROR'); this.name = 'DatabaseError'; Object.setPrototypeOf(this, DatabaseError.prototype); } }