# app/exceptions/__init__.py """ Base exception classes for the application. This module provides only framework-level exceptions. Domain-specific exceptions have been moved to their respective modules: - tenancy: VendorNotFoundException, CompanyNotFoundException, etc. - orders: OrderNotFoundException, InvoiceNotFoundException, etc. - inventory: InventoryNotFoundException, InsufficientInventoryException, etc. - billing: TierNotFoundException, SubscriptionNotFoundException, etc. - marketplace: ImportJobNotFoundException, MarketplaceProductNotFoundException, etc. - messaging: ConversationNotFoundException, MessageNotFoundException, etc. - customers: CustomerNotFoundException, AddressNotFoundException, etc. - cart: CartItemNotFoundException, EmptyCartException, etc. - catalog: ProductNotFoundException, ProductValidationException, etc. - cms: ContentPageNotFoundException, MediaNotFoundException, etc. - monitoring: ScanNotFoundException, ViolationNotFoundException, etc. Import pattern: # Base exceptions (framework-level) from app.exceptions import ValidationException, ResourceNotFoundException # Domain exceptions (module-level) from app.modules.orders.exceptions import OrderNotFoundException from app.modules.tenancy.exceptions import VendorNotFoundException """ # Base exceptions - these are the only exports from root from .base import ( AuthenticationException, AuthorizationException, BusinessLogicException, ConflictException, ExternalServiceException, RateLimitException, ResourceNotFoundException, ServiceUnavailableException, ValidationException, WizamartException, ) __all__ = [ # Base exception class "WizamartException", # Validation and business logic "ValidationException", "BusinessLogicException", # Authentication and authorization "AuthenticationException", "AuthorizationException", # Resource operations "ResourceNotFoundException", "ConflictException", # External services "ExternalServiceException", "ServiceUnavailableException", # Rate limiting "RateLimitException", ]