Исключения времени выполнения указывают на нарушенный контракт (например, NPE) и никогда не должны выдаваться, если код не содержит ошибок. Он всегда указывает на ошибку в коде ( То же, что и утверждения, но утверждения предназначены для внутренних ошибок класса, а среда выполнения - для ошибок клиента класса).
Исключения времени выполнения никогда не должны перехватываться.
Проверенные исключения, с другой стороны, являются частью сигнатуры и должны перехватывать и обрабатывать . Они могут указывать на ошибки ввода пользователя или проблемы с внешними ресурсами (например, IOException
).
Из-за всего этого я не могу понять, почему NumberFormatException
является средой выполнения?