在C ++中,为了使代码在存在异常时是健壮的,通常需要依赖于保证一些简单操作永远不会失败的事实(因此永远不会抛出异常)。这些操作的示例包括整数的分配和标准容器的交换。
Python中是否有任何操作可以提供这种无故障保证?
答案 0 :(得分:3)
Python是一种比C和C ++更高级的语言。任何事情都可能涉及幕后代码执行,并且没有名称可以免于查找其当前可能被覆盖的值。有可能确定一些保证永远不会引发异常的操作,但我怀疑这组操作会非常小,以至于它没有任何好处,而且通常假设任何事情都可以随时引发异常。
识别这些操作需要限制Python环境。例如,您可以为Python程序的每一行分配一个跟踪函数。通过适当制作的跟踪功能,即使1 + 1也可能引发异常。那么我们是否假设没有跟踪功能?那么重新定义内置的呢?
实际上,你需要对Python采用不同的思维模式:异常发生,你不能提前知道它们可能是什么。正如Mark Amery在评论中所说,C ++需要避免内存泄漏和未初始化的变量,这些都不是Python中的问题。