无掷虚拟机器错误保证
我从C++来到Java。在C++世界中,我们关注异常安全,并注意到在面对突变体本身或其委托给的方法(最小值,强,无丢弃)引发的异常时,突变体可以提供不同的保证。实现具有强异常保证的方法需要保证某些基本操作永远不会引发异常。JLS 会声明哪些操作可以引发哪些类型的异常,但该错误会带来问题。引用JLS:VirtualMachineError
内部错误或资源限制阻止Java虚拟机实现Java编程语言的语义;在这种情况下,将抛出 的子类的实例。
VirtualMachineError
JLS不再说关于.“内部错误”意味着JVM中的错误,所以我对这种情况不感兴趣:面对JVM中的错误,所有的赌注都关闭了。但是,“资源限制”的情况呢?是否有任何操作可以保证永远不会因资源限制而失败?VirtualMachineError