我知道为什么“语法错误”是不可跳过的,但我仍然想知道是否有一种方法绕过语法错误无论如何纯粹的教育目的。
我想让这段代码运行...
try:
number = ((1)
print(number)
except SyntaxError:
print("ERROR")
...并获得以下输出:
ERROR
# Program continues...
......但我得到的却是这个......
number = ((1)
^
SyntaxError: '(' was never closed
并且程序终止。
有没有可能在不修改语法的情况下解决这个问题?
1条答案
按热度按时间7cwmlq891#
这是一个有趣的问题,我知道这只是为了教育目的。撇开拥有这样一个特性的有用性不谈(因为我认为根本没有),我会考虑拥有这种语法错误处理的后果。如果不小心使用,它可能会导致非常严重的错误。
这当然是把绝对没有用处放在一边!
try-catch块从来都不是错误代码的安全网(语法错误字面上是:坏代码),所以,即使不知道是否有解决办法,我敢说,在任何主要的编程语言中都不可能存在这样的事情