Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
7 1 1 4

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

eikoneikon-data-apipythonrefinitiv-dataplatform-eikonworkspaceworkspace-data-apierror-handling
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvote
Accepted
39.4k 77 11 27

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')

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

thanks Alex

Upvotes
18.3k 84 39 63

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:

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

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.


ahs.png (14.0 KiB)
ahs2.png (20.1 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.