| import sys | |
| class AnomalyDetectionException(Exception): | |
| """Custom exception for Anomaly Detection pipeline.""" | |
| def __init__(self, error_message, error_details: sys): | |
| self.error_message = error_message | |
| _, _, exc_tb = error_details.exc_info() | |
| self.lineno = exc_tb.tb_lineno | |
| self.file_name = exc_tb.tb_frame.f_code.co_filename | |
| def __str__(self): | |
| return "Error occurred in python script name [{0}] line number [{1}] error message [{2}]".format( | |
| self.file_name, self.lineno, str(self.error_message) | |
| ) | |
| if __name__ == '__main__': | |
| try: | |
| a = 1 / 0 | |
| except Exception as e: | |
| raise AnomalyDetectionException(e, sys) | |