| """ |
| 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 |
|
|