How can I capture the error message?

When doing a get_timeseries request, there are times that the RICs list I submitted included some non-valid RICs for one reason or another. Usually do to corporate actions. Some of the sample error message are as follows:

Error with OMAM.N: No data available for the requested date range or Error with LNCE.OQ: Invalid RIC

This error prints out in the ipython console, but I would like to be able to capture these errors so I can create of list of the RIC's that are causing the errors. How would I do this?

I looked at the Eikon Python API reference guide but I cannot figure out how to use the EikonError class to get the information I am after.

Thanks for your help.

Richard

Best Answer

  • get_timeseries method only raises an exception when it cannot retrieve timeseries for all instruments in the list. If get_timeseries succeeds in retrieving timeseries for at least one instrument, then for those instruments where retrieval fails get_timeseries method merely logs a warning.

    The only way I know to capture messages created by a Python logger is by adding a handler to the logger. Here's an example you can easily adapt for your purpose:
    http://alanwsmith.com/capturing-python-log-output-in-a-variable
    The name of the logger that eikon package utilizes is 'pyeikon'. You can get it by calling logging.getLogger('pyeikon')

Answers

  • Hi @richard.jones2,

    The get_timerseries() call does document it will throw an exception upon an error. So when I tried this, I do see the exception being thrown when I define an invalid symbol:

    image

    However, when I include a valid symbol within my list, as you did, an exception is not thrown.

    image

    In both cases, we can see the error message within the console - as you observed. Let me reach out to the product team to determine what is expected and how an application is expected to trap this issue.

  • thanks Alex