Source code for schrodinger.analysis.visanalysis.vdexception
# ----------------------------------------------------------------------------
# Name:
#
# vdexception.py
#
# Purpose:
#
# This file contains the implementation of the VDException class. This class
# provides a generic exception to be thrown by all VolumeData related
# functionality.
#
# Copyright of:
#
# Copyright Schrodinger, LLC. All rights reserved.
#
# Version:
#
# Version Author Notes
# 1.0 DDR Original Implementation
#
# Notes:
#
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Module imports.
import sys as sys
# End of module imports.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Global constants.
# End of global constants.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Class-definition:
#
# VDException
#
# ----------------------------------------------------------------------------
[docs]class VDException(Exception):
"""
This is a simple Exception derived class used by the various VolumeData
associated components to denote an error condition.
"""
# ------------------------------------------------------------------------
[docs] def __init__(self, msg, detail=None):
"""
This function creates a new VDException. The msg should describe
the error condition. detail may contain a bit more information
if that is appropriate.
:param msg: The error message
:type msg: `string`
:param detail: Additional error detail
:type detail: `string`
"""
# Self._func contains the name of the function where the exception
# occurred. This uses a rather ugly bit of Python to get that
# from the call stack.
self._func = sys._getframe().f_back.f_code.co_name
self._msg = msg
self._detail = detail
# ------------------------------------------------------------------------
def __str__(self):
"""
This function converts this VDException to a meaningful error
message that can be displayed by the Python interpreter.
"""
if self._detail is not None:
return "%s : %s : %s" % (self._func, self._msg, self._detail)
else:
return "%s : %s" % (self._func, self._msg)
# End of class definition: VDException
# ----------------------------------------------------------------------------
# End of file: vdexception.py
# ----------------------------------------------------------------------------