import pandas as pd
t1=pd.DataFrame()
for i in range(len(the number of rows)):
#add rows as columns
t1[i]=list(rows)
t1=t1.transpose()
t1.columns=list(columns)
В первом случае исключение возникает компилятором, который работает до , структура try/except
существует даже существует (так как это сам компилятор, который установит это сразу после разбора). Во втором случае компилятор работает дважды - и возникает исключение, когда компилятор работает как часть eval
, после , первый запуск компилятора уже настроил try/except
.
Итак, чтобы перехватывать синтаксические ошибки, так или иначе, вам нужно организовать выполнение компилятора дважды - eval
- это один способ, явная функция compile
вызывает другую функцию , import
весьма удобен (после написания кода в другой файл), exec
и execfile
другие возможности. Но, тем не менее, вы это делаете, синтаксические ошибки могут быть обнаружены только после того, как компилятор первым запустил настройку блоков try/except
, которые вам нужны!
Краткий ответ: Нет.
Синтаксические ошибки возникают, когда код разобран, что для обычного кода Python перед выполнением кода - код не выполняется внутри блока try / except, поскольку код не выполняется, период.
Однако, когда вы eval или выполняете какой-то код, вы анализируете его во время выполнения, поэтому вы можете поймать исключение.