def ErrorDetails(exc_info=None, exclude_robot_traces=EXCLUDE_ROBOT_TRACES):
 (exc_type, exc_value, exc_traceback) = (exc_info or sys.exc_info())
 if (exc_type in RERAISED_EXCEPTIONS):
  raise exc_value
 details = (PythonErrorDetails if (not isinstance(exc_value, Throwable)) else JavaErrorDetails)
 return details(exc_type, exc_value, exc_traceback, exclude_robot_traces)

def ErrorDetails ( exc_info = None , exclude_robot_traces = EXCLUDE_ROBOT_TRACES ) : ( exc_type , exc_value , exc_traceback ) = ( exc_info or sys . exc_info ( ) ) if ( exc_type in RERAISED_EXCEPTIONS ) : raise exc_value details = ( PythonErrorDetails if ( not isinstance ( exc_value , Throwable ) ) else JavaErrorDetails ) return details ( exc_type , exc_value , exc_traceback , exclude_robot_traces )
this factory returns an object that wraps the last occurred exception it has attributes message .