【发布时间】:2015-04-06 14:05:36
【问题描述】:
您可以在此处将“javascript”替换为其他语言。基本上我从阅读中发现,python 积极鼓励使用异常和一系列 if 测试来管理代码。在“duck-typing”时,通常会引用可读性以及看起来更清晰的代码
但是,通常在使用 javascript 或其他一些语言时,最佳实践似乎建议尝试“防御性编码”并尽可能多地覆盖 if 语句和返回类型,以避免使用异常。最常被引用的原因是异常是一项非常昂贵的操作。
这是一个例子: https://stackoverflow.com/a/8987401/2668545
- python 是否面临与 javascript 相同的异常成本和最好的 实践是这样的,因为有更多的重点 可读性/可调试性比性能好?
- 与 javascript 或其他不建议使用异常的语言相比,python 处理异常的方式是否不同?
- 我是否误解了建议?
- 还是别的什么?
【问题讨论】:
-
docs.python.org/2/faq/design.html#how-fast-are-exceptions。但如果这对您很重要,请务必衡量。
-
@MartijnPieters 谢谢。我想知道您是否知道 JS 是否与 python 一样,因为尝试便宜而捕获昂贵?我看到虽然 v8 没有针对 try-catch 进行优化(还)github.com/petkaantonov/bluebird/wiki/Optimization-killers
-
需要区分使用异常处理意外(异常)情况和使用异常进行流控制。后者是somewhat controversial,尽管在 Python 中比在其他语言中少。 Python 甚至在内部使用异常进行流控制(例如
StopIteration、GeneratorExit、...)。
标签: javascript python exception-handling