Source code for openmdao.core.analysis_error

"""
OpenMDAO custom error: AnalysisError.
"""
from openmdao.utils.om_warnings import _warn_simple_format, reset_warning_registry
import warnings


[docs] class AnalysisError(Exception): """ Analysis Error. This exception indicates that a possibly recoverable numerical error occurred in an analysis code or a subsolver. Parameters ---------- error : str Error message. location : None or inspect.currentframe() Inspect.currentframe of error being raised. msginfo : str Name of component that raise the AnalysisError. """
[docs] def __init__(self, error, location=None, msginfo=None): """ Initialize AnalysisError. """ super().__init__(error) if location is not None: if hasattr(location, 'f_lineno'): # from inspect.currentframe() line_num = location.f_lineno file_name = location.f_code.co_filename else: # from inspect.getframeinfo(inspect.currentframe()) line_num = location.lineno file_name = location.filename with reset_warning_registry(): warnings.formatwarning = _warn_simple_format msg = (f"Analysis Error: {msginfo} Line {line_num} of file {file_name}") warnings.warn(msg, UserWarning, 2)