Вот мой код:
import pandas as pd
df2 = pd.DataFrame()
try:
df_task = df_task.append(df2, ignore_index = True)
except NameError:
df_task = df2
raise
Выдает эту ошибку:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
File "/home/cld_intern/.spyder2/.temp.py", line 12, in <module>
df_task = df_task.append(df2, ignore_index = True)
NameError: name 'df_task' is not defined
Блок исключений должен перехватывать NameError, но каким-то образом включение параметра "повысить" без указания исключения для создания приводит к возникновению ошибки NameError. Почему это так?
Это отлично работает:
import pandas as pd
df2 = pd.DataFrame()
try:
df_task = df_task.append(df2, ignore_index = True)
except NameError:
df_task = df2
Это также работает как ожидалось:
import pandas as pd
df2 = pd.DataFrame()
try:
df_task = df_task.append(df2, ignore_index = True)
except NameError:
df_task = df2
raise Exception("error message")
Со следующей трассировкой:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
File "/home/cld_intern/.spyder2/.temp.py", line 15, in <module>
raise Exception("error message")
Exception: error message