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