exceptions Module#
Custom exception classes for specific error conditions in epidemiological analysis.
This module defines a hierarchy of exceptions that provide precise error information for different failure modes.
Exception Hierarchy#
EpisiaError(base class) -ValidationError-ConvergenceError-ConfigurationError-DataError-ModelError-StatisticalError-DimensionError-ParameterError-ComputationError-FileError-PlotError
Classes#
- class episia.core.exceptions.EpisiaError(message='An error occurred in Episia')[source]#
Bases:
ExceptionBase exception for all Episia errors.
- Parameters:
message (str)
- class episia.core.exceptions.ValidationError(message='Data validation failed')[source]#
Bases:
EpisiaErrorRaised when data validation fails.
- Parameters:
message (str)
- class episia.core.exceptions.ConvergenceError(message='Algorithm failed to converge')[source]#
Bases:
EpisiaErrorRaised when numerical algorithm fails to converge.
- Parameters:
message (str)
- class episia.core.exceptions.ConfigurationError(message='Invalid configuration')[source]#
Bases:
EpisiaErrorRaised when configuration is invalid.
- Parameters:
message (str)
- class episia.core.exceptions.DataError(message='Invalid or insufficient data')[source]#
Bases:
EpisiaErrorRaised when data is invalid or insufficient.
- Parameters:
message (str)
- class episia.core.exceptions.ModelError(message='Model error occurred')[source]#
Bases:
EpisiaErrorRaised when model fitting or evaluation fails.
- Parameters:
message (str)
- class episia.core.exceptions.StatisticalError(message='Statistical assumption violated')[source]#
Bases:
EpisiaErrorRaised when statistical assumptions are violated.
- Parameters:
message (str)
- class episia.core.exceptions.DimensionError(message='Dimension mismatch')[source]#
Bases:
EpisiaErrorRaised when array dimensions are incompatible.
- Parameters:
message (str)
- class episia.core.exceptions.ParameterError(message='Invalid parameter value')[source]#
Bases:
EpisiaErrorRaised when function parameters are invalid.
- Parameters:
message (str)
- class episia.core.exceptions.ComputationError(message='Numerical computation failed')[source]#
Bases:
EpisiaErrorRaised when numerical computation fails.
- Parameters:
message (str)
- class episia.core.exceptions.FileError(message='File operation failed')[source]#
Bases:
EpisiaErrorRaised when file operations fail.
- Parameters:
message (str)
- class episia.core.exceptions.PlotError(message='Plotting failed')[source]#
Bases:
EpisiaErrorRaised when plotting fails.
- Parameters:
message (str)
- class episia.core.exceptions.WarningManager[source]#
Bases:
objectManager for warnings in Episia.
Provides consistent warning formatting and filtering.
Examples#
Using exceptions for error handling:
from episia.core.exceptions import ValidationError, WarningManager
try:
# Some validation that might fail
validate_2x2_table(-1, 10, 20, 30)
except ValidationError as e:
print(f"Validation failed: {e}")
# Managing warnings
WarningManager.warn("This is a warning message")
WarningManager.filter_warnings("ignore") # Suppress Episia warnings