| | """
|
| | This module defines a custom exception handling class and a function to get error message with details of the error.
|
| | """
|
| |
|
| |
|
| | import sys
|
| |
|
| |
|
| | from logger import logging
|
| |
|
| |
|
| |
|
| | def get_error_message(error, error_detail: sys):
|
| | """
|
| | Get error message with details of the error.
|
| |
|
| | Args:
|
| | - error (Exception): The error that occurred.
|
| | - error_detail (sys): The details of the error.
|
| |
|
| | Returns:
|
| | str: A string containing the error message along with the file name and line number where the error occurred.
|
| | """
|
| | _, _, exc_tb = error_detail.exc_info()
|
| |
|
| |
|
| | file_name = exc_tb.tb_frame.f_code.co_filename
|
| | return "Error occured in python script name [{0}] line number [{1}] error message[{2}]".format(
|
| | file_name, exc_tb.tb_lineno, str(error)
|
| | )
|
| |
|
| |
|
| |
|
| | class CustomExceptionHandling(Exception):
|
| | """
|
| | Custom Exception Handling:
|
| | This class defines a custom exception that can be raised when an error occurs in the program.
|
| | It takes an error message and an error detail as input and returns a formatted error message when the exception is raised.
|
| | """
|
| |
|
| |
|
| | def __init__(self, error_message, error_detail: sys):
|
| | """Initialize the exception"""
|
| | super().__init__(error_message)
|
| |
|
| | self.error_message = get_error_message(error_message, error_detail=error_detail)
|
| |
|
| | def __str__(self):
|
| | """String representation of the exception"""
|
| | return self.error_message
|
| |
|