python中的最佳返回类型策略

The*_*eer 1 python error-handling exception-handling exception

我正在为下一个问题寻找一种"其意图完成的方式"解决方案:

我有一个名为的类InputChecker,它接受一个输入文件,检查它的内容,如果一切正常,则将文件返回到下一个class(ExpofitAgent)以进行进一步的操作.

但是,如果文件不是应该的形式,则InputChecker生成一条错误消息,指出错误发现在文件的哪一行.

InputChecker 不会打印错误,它只会生成稍后打印的消息.

因为我在python中这样做,我的方法可以返回一个文件或一个字符串.如何在不需要添加额外标志的情况下检查文件是否正常?

Mar*_*cin 21

提出异常:http://docs.python.org/tutorial/errors.html

即使语句或表达式在语法上是正确的,但在尝试执行它时可能会导致错误.在执行期间检测到的错误称为异常,并且不是无条件致命的...但是,大多数异常不是由程序处理的,而是导致错误消息......

  • @Alan继续前进并使用该字符串作为异常的参数.如果您创建自己的异常更好,并为其提供有关错误位置的适当元数据,那么可以通过编程方式对其进行处理. (4认同)
  • @Alan,我认为你误解了Python的例外哲学.例如,它们比C++更常用.是的,如果您知道如何处理它,您应该只捕获异常,但例外是*更灵活,因为它们可以让您选择处理它的位置,或者您只是希望程序停止. (3认同)