ats_utilities.validation.context_error module

Module

context_error.py

Copyright

Copyright (C) 2017 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> ats_utilities is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. ats_utilities is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Info

Utility functions for inspecting call stack and raising contextual exceptions.

ats_utilities.validation.context_error.get_caller(depth: int = 1) str[source]

Extracts the call context (class_name::method_name or just method_name) from the specified stack depth.

Parameters:

depth (<int>) – Stack depth to inspect (1 for direct caller).

Returns:

Context representation in string format.

Return type:

<str>

Exceptions:

None.

ats_utilities.validation.context_error.raise_error(fallback_prefix: str, fallback_msg: str, exc_message: str | None = None, exception_class: type[Exception] = <class 'ats_utilities.exceptions.ats_value_error.ATSValueError'>, depth: int = 2) None[source]

Raises a contextual exception using caller context from the specified stack depth.

Parameters:
  • fallback_prefix (<str>) – Fallback prefix to use in the exception message if no message is provided.

  • fallback_msg (<str>) – Fallback message to include in the exception message if no message is provided.

  • exc_message (<str | None>) – Message to include in the exception message.

  • exception_class (<type[Exception]> (default ATSValueError)) – The exception class to raise.

  • depth (<int> (default 2)) – Stack depth to inspect.

Exceptions:
Dynamically raises the provided exception_class (e.g., ATSValueError).