Assertions не должны заменять обработку исключений в Java, потому что они предназначены для разных целей. 14
Assertions (утверждения) используются для обнаружения и исправления ошибок во время разработки. 3 Они полезны в тех случаях, когда разработчик уверен, что определённое условие всегда должно быть верно. 3 Если это условие нарушается, значит, в программе есть ошибка, которую нужно исправить. 3
Обработка исключений используется для ответа на нефатальные ошибки, которые могут быть вызваны факторами окружающей среды, например несущим файлом, или плохо написанным кодом. 1 Обработчик исключений часто пишется так, чтобы после ошибки программа могла продолжить работу. 1
Кроме того, assertions не поддерживают восстановление после ошибок, так как обычно немедленно останавливают выполнение программы. 1 Также они не отображают удобные для пользователя сообщения об ошибках. 1
Таким образом, assertions больше подходят для работы во время разработки, а для обработки ошибок в рабочем коде лучше использовать обработку исключений и валидацию данных. 3