Exceptions Module

Custom exceptions for tax calculation errors.

exception taxcalcindia.exceptions.TaxCalculationException(message='Tax calculation error', *, code=None, details=None)[source]

Bases: Exception

Base exception for the taxcalcindia package.

Variables:
  • message – Human readable error message.

  • code – Optional machine-readable error code.

  • details – Optional additional context (e.g. input values).

Parameters:
  • message (str)

  • code (str | None)

  • details (Dict[str, Any] | None)

Return type:

None

__init__(message='Tax calculation error', *, code=None, details=None)[source]
Parameters:
  • message (str)

  • code (str | None)

  • details (Dict[str, Any] | None)

Return type:

None

to_dict()[source]

Return a serializable representation of the error.

Return type:

Dict[str, Any]

exception taxcalcindia.exceptions.InputValidationError(message='Tax calculation error', *, code=None, details=None)[source]

Bases: TaxCalculationException

Raised when input validation fails.

Parameters:
  • message (str)

  • code (str | None)

  • details (Dict[str, Any] | None)

Return type:

None

exception taxcalcindia.exceptions.CalculationError(message='Tax calculation error', *, code=None, details=None)[source]

Bases: TaxCalculationException

Raised when a calculation step fails.

Parameters:
  • message (str)

  • code (str | None)

  • details (Dict[str, Any] | None)

Return type:

None

exception taxcalcindia.exceptions.DataNotFoundError(message='Tax calculation error', *, code=None, details=None)[source]

Bases: TaxCalculationException

Raised when required data (rates, slabs, etc.) is missing.

Parameters:
  • message (str)

  • code (str | None)

  • details (Dict[str, Any] | None)

Return type:

None