""" Custom exceptions for Medical Transcriber application. Defines specific exception types for better error handling and debugging. """ class MedicalTranscriberException(Exception): """Base exception for Medical Transcriber application.""" pass class AudioFileException(MedicalTranscriberException): """Exception raised for audio file related errors.""" def __init__(self, file_path: str, message: str = "Invalid audio file"): self.file_path = file_path self.message = f"{message}: {file_path}" super().__init__(self.message) class TranscriptionException(MedicalTranscriberException): """Exception raised during transcription process.""" pass class CorrectionException(MedicalTranscriberException): """Exception raised during LLM correction process.""" pass class ReportGenerationException(MedicalTranscriberException): """Exception raised during report generation.""" pass class ConfigurationException(MedicalTranscriberException): """Exception raised for configuration errors.""" pass class APIException(MedicalTranscriberException): """Exception raised for API communication errors.""" def __init__(self, endpoint: str, status_code: int, message: str): self.endpoint = endpoint self.status_code = status_code self.message = f"API Error {status_code} at {endpoint}: {message}" super().__init__(self.message) class ValidationException(MedicalTranscriberException): """Exception raised for validation errors.""" def __init__(self, field: str, value: str, reason: str = "Invalid value"): self.field = field self.value = value self.message = f"{reason} for field '{field}': {value}" super().__init__(self.message) class KnowledgeBaseException(MedicalTranscriberException): """Exception raised for knowledge base operations.""" pass