【发布时间】:2012-01-18 14:25:46
【问题描述】:
首先 - 我对缩进错误的代码没有意见,而且我知道这个异常是如何工作的。
我问,是否有任何方法可以使用 try/except 块在代码中捕获 IndentationError?例如,假设我正在为其他人编写的函数编写测试。我想在 try/except 块中运行它并处理他/她可能发出的所有警告。我知道,这不是一个最好的例子,而是我想到的第一个例子。请不要专注于一个例子,而要专注于问题。
我们来看代码:
try:
f()
except IndentationError:
print "Error"
print "Finished"
功能:
def f():
print "External function"
结果是:
External function
Finished
这就是一些东西,我已经准备好理解了,因为外部函数中的缩进是一致的。
但是当函数看起来像这样时:
def f():
print "External function"
print "with bad indentation"
异常未处理:
print "with bad indentation"
^
IndentationError: unexpected indent
有什么方法可以实现吗?我想这是编译的问题,到目前为止我看不到任何可能。 except IndentationError 有意义吗?
【问题讨论】:
-
请注意
IndentationError是SyntaxError的子类。
标签: python exception-handling indentation