構文エラーは、例外としてキャッチできるのか?
テストコード
try:
while True print('Hello world')
except:
print("シンタックスエラーをキャッチできた")
本来は、while True<ココ>に、コロン(:)が入る。
コロンないので、構文エラーになる。
出力結果
File "c:\HOS\RD\python入門\syntaxerror.py", line 2
while True print('Hello world')
となり、例外はキャッチできない。
Pythonはインタプリタで1行ずつ処理するので例外がキャッチできても良いかと思ったが、構文解析に成功しない限りは、一行ずつの実行にならないので、例外処理ではキャッチできないのだろうと思った。