我被教导说一个空的 except 捕获所有类型的异常,但当我尝试此代码块时,它不会捕获异常并引发 SyntaxError . 我做错什么了?
except
SyntaxError
try: print "Hello" except: print("Caught!") #output: SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello")?
即使我将异常类型指定为 语法错误 它还是抓不住。
语法错误
try: print "Hello" except SyntaxError: print("Caught!") #output: SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello")?
不,空的除了捕获所有类型的 运行时 错误;根据定义,语法错误不是运行时错误,因为代码根本不能运行。