Гарантии VirtualMachineError без выброса

Я пришел в Java из C ++. В мире C ++ мы обращаем внимание на безопасность исключений и отмечаем, что мутаторы могут предоставлять различные гарантии перед лицом исключений, генерируемых самим мутатором или методом, которому он делегирует (минимальный, сильный, без исключения). Реализация метода, который имеет строгую гарантию исключения, требует, чтобы некоторые базовые операции никогда не вызывали исключения. JLS делает заявления о том, какие операции могут вызывать какие типы исключений, но ошибка VirtualMachineError представляет проблему.Укажите JLS :

внутренняя ошибка или ограничение ресурсов не позволяет виртуальному Java машина от реализации семантики программирования на Java язык; в этом случае экземпляр подкласса Выдается VirtualMachineError .

JLS больше ничего не говорит о VirtualMachineError . «Внутренняя ошибка» означает ошибку в JVM, поэтому меня не интересует этот случай: перед лицом ошибок в JVM все ставки отключены. А как насчет случая «ограничения ресурса»? Существуют ли какие-либо операции, которые гарантированно никогда не завершатся из-за ограничений ресурсов?

14
задан Matthias Braun 10 November 2017 в 07:59
поделиться