注意,由于底层的内存管理体系结构(C的malloc()函数),解释器可能无法始终完全从这种情况中恢复;
尽管如此,它还是引发了一个异常,以便在程序失控的情况下可以打印堆栈回溯。
(请参阅文档)
通常,您仍然可以捕获MemoryErrors。我不知道引发MemoryError时到底发生了什么,我想当粪便真的击中了风扇并且那里没有更多的内存可以处理时,您可能无法捕获它。
另外,由于您可能无法真正从中恢复(请参阅上文),因此捕获它可能没有太大意义。 您应该通过避免 例如仅允许列表的大小限制来 避免耗尽内存
并限制程序使用的内存量。



