我正在寻找一种"它要完成的方式"解决下一个问题:
我有一个名为InputChecker
的类,它接受一个输入文件,检查它的内容,如果一切正常,则将文件返回到下一个类(ExpofitAgent
)以进行进一步的操作。 / p>
但是,如果文件的格式不符合要求,InputChecker
会生成一条错误消息,说明错误发现在文件的哪一行。
InputChecker
不会打印错误,只会生成稍后打印的消息。
由于我在python中执行此操作,因此我的方法可以返回文件或字符串。如何在不需要包含额外标志的情况下检查文件是否正常?
答案 0 :(得分:21)
提出例外:http://docs.python.org/tutorial/errors.html
即使语句或表达式在语法上是正确的,但在尝试执行它时可能会导致错误。执行期间检测到的错误称为 exceptions ,并且不会无条件致命......但是,大多数异常都不是由程序处理的,而是导致错误消息...
答案 1 :(得分:3)
我很难想到Marcin's answer使用例外的情况不是最好的答案。
但是如果你确实需要一个替代方案,那么使用元组在Python中一次返回多个东西很容易。
def myfunc():
# ...
if file_is_ok:
return myfile, None
else:
return None, error_string
mf, es = myfunc()
if es:
# show error string