Не удалось поймать исключение: произошло другое исключение - PullRequest
0 голосов
/ 04 июня 2019

У меня есть следующий код:

import pandas as pd

index = 2
timestamps = pd.date_range('2019-05-01', '2019-05-01')
try:
    timestamp = timestamps[index]
except IndexError:
    raise IndexError('index is out of timestamps.')

, в результате чего на терминал выводится следующее сообщение

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "/usr/local/lib/python3.7/site-packages/pandas/core/indexes/datetimes.py", line 1170, in __getitem__
    result = self._data.__getitem__(key)
  File "/usr/local/lib/python3.7/site-packages/pandas/core/arrays/datetimelike.py", line 426, in __getitem__
    val = getitem(key)
IndexError: index 2 is out of bounds for axis 0 with size 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
IndexError: index is out of timestamps.

Почему IndexError: index is out of timestamps. просто не вызывается в этомНапример, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 04 июня 2019

Поскольку оператор raise в блоке except вынуждает новое исключение обрабатывать исключение, произошедшее в блоке try. Смотрите документацию по питону

0 голосов
/ 04 июня 2019

Он был поднят. Трассировка предоставляет информацию о первой ошибке, которая была обработана во время последней. Так как вы перехватываете исключение и вызываете другое, информация трассировки включает оба.

Написано в описании: During handling of the above exception, another exception occurred:

Вы можете попытаться вызвать другой тип ошибки и увидеть, что это ошибка, которая возникла.

...