功能失败:引发异常,或返回FALSE?什么是更好的方法?

Mup*_*pet 8 python pep8

我想知道你们如何处理函数失败.您是否引发异常,或者是否返回错误消息?

eG我有一个应该连接到外部com对象的函数.如果尚未通过其他程序启动COM对象,则无法建立连接.通知主程序的首选python方式是什么?我应该使用详细的错误消息引发异常,还是应该简单地返回错误消息?

谢谢!

che*_*red 10

python绝对在这里的例外方面.我总是发现这篇文章是一个很好的解释.


Gar*_*tty 5

抛出异常,这就是它们的用途。

它们允许使用您的代码来管理错误,传回字符串提供了太多错误处理的机会。

考虑一下您通常返回字符串或可迭代的情况,检查错误消息可能会导致问题,并且可能无法始终捕获它们,这也不是很Pythonic。