Team Ai
Apppublic

Akjava/Qwen2.5-0.5B-Rag-Thinking-Flan-T5

sourceHugging Facemitupdated 2y agoView on Hugging Face
2likes
exception.py51 linesDownload Raw Back to root
1"""
2This module defines a custom exception handling class and a function to get error message with details of the error.
3"""
4
5# Standard Library
6import sys
7
8# Local imports
9from logger import logging
10
11
12# Function Definition to get error message with details of the error (file name and line number) when an error occurs in the program
13def get_error_message(error, error_detail: sys):
14    """
15    Get error message with details of the error.
16
17    Args:
18        - error (Exception): The error that occurred.
19        - error_detail (sys): The details of the error.
20
21    Returns:
22        str: A string containing the error message along with the file name and line number where the error occurred.
23    """
24    _, _, exc_tb = error_detail.exc_info()
25
26    # Get error details
27    file_name = exc_tb.tb_frame.f_code.co_filename
28    return "Error occured in python script name [{0}] line number [{1}] error message[{2}]".format(
29        file_name, exc_tb.tb_lineno, str(error)
30    )
31
32
33# Custom Exception Handling Class Definition
34class CustomExceptionHandling(Exception):
35    """
36    Custom Exception Handling:
37        This class defines a custom exception that can be raised when an error occurs in the program.
38        It takes an error message and an error detail as input and returns a formatted error message when the exception is raised.
39    """
40
41    # Constructor
42    def __init__(self, error_message, error_detail: sys):
43        """Initialize the exception"""
44        super().__init__(error_message)
45
46        self.error_message = get_error_message(error_message, error_detail=error_detail)
47
48    def __str__(self):
49        """String representation of the exception"""
50        return self.error_message
51