Как зафиксировать ошибку из библиотеки python litex.Regon? - PullRequest
0 голосов
/ 30 мая 2019

Я хочу обработать исключения из litex Regon (польская библиотека с информацией о компании).Я не знаю как?Когда я пытаюсь с

Когда я пытаюсь с этим кодом, все в порядке ... поэтому я не знаю почему?

while True:
    try:
            x = int(input("Please enter a number: "))
            break
    except ValueError:
            print("Oops!  That was no valid number.  Try again...")

Но мой код не работает

## EXAMPLE
api = REGONAPI('https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc')
USER_KEY = 'my_key'
api.login(USER_KEY)
entities = api.search(nip='9222976976')
c = etree.tostring(entities[0], pretty_print=True)
c

## MY CODE
REGONAPI('https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc')
USER_KEY = 'my_key'
api.login(USER_KEY)
from litex.regon import REGONAPI
lista = []
for i in np.arange(280, 300):
        try:
            entities = api.search(nip=dane_do_przeszukwania['NIP'][i])
            c = etree.tostring(entities[0], pretty_print=True)
            lista.append(c)
        except REGONAPIError:
            None

У меня ошибка

EGONAPIError                             Traceback (most recent call last)
<ipython-input-7-f2653b5824bc> in <module>
      4         try:
----> 5             entities = api.search(nip=dane_do_przeszukwania['NIP'][i])
      6             c = etree.tostring(entities[0], pretty_print=True)

~\Anaconda3\lib\site-packages\litex\regon\__init__.py in search(self, nip, regon, krs, nips, regons, krss, detailed)
    210         if not result:
--> 211             raise REGONAPIError('Search failed.')
    212 

REGONAPIError: Search failed.

During handling of the above exception, another exception occurred:

NameError                                 Traceback (most recent call last)
<ipython-input-7-f2653b5824bc> in <module>
      6             c = etree.tostring(entities[0], pretty_print=True)
      7             lista.append(c)
----> 8         except REGONAPIError:
      9             None
     10 

NameError: name 'REGONAPIError' is not defined

, если я не нахожу ошибку числовой руки и следующую строку в итерации.

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

REGONAPIError не определено, потому что вы, вероятно, не импортировали его. Попробуйте добавить

from litex.regon import REGONAPIError

в вашем файле, это должно работать.

0 голосов
/ 30 мая 2019

Если вас не волнует, что именно является исключением, вы можете перехватить все исключения, используя except:

try:
    # code
except:      # except anything
    print("error")

Это в основном поймает любое исключение.

...