Такassertи кидает исключение.
Тут дело в том, что assert можно выключить как при компиляции, тогда его код даже не попадёт в финальный байткод, так и на JVM.
Получается что код вроде есть, но JVM его будет игнорировать.
Что бы не было неоднозначностей рекомендуют не пользоваться assert'ами, а использовать unit-test или явные проверки в коде