Voy a hablar de los inconvenientes de usar la palabra reservada assert en Java. Mira este blog, o este otro, para hacerte una idea de lo que hablo. Aunque lo mejor es ir a la fuente.
INCONVENIENTES:
- – (otros lo consideran una ventaja) para ejecutar las afirmaciones, hay que poner -ea (enable assert) a la hora de ejecutar.
- – La excepción que lanza es: AssertionError, que hereda de Error. Error es una excepción que esta al mismo nivel que la clase Exception, pero a diferencia de esta, suele indicar problemas muy graves, que no suelen ser recuperables y no deben ser capturados.
CONCLUSION:
Solo para entornos de desarrollo, no lo usaría en producción porque no se deben capturar las Excepciones que son de tipo Error. Y porque hay que saber que hay que poner -ea para que la VM no las ignore. Si bien es cierto que hay maneras de avisar de que es necesario activar las afirmaciones, pero es una cosa mas.
Si necesitas validar unos parámetros, harás un if o crearás una arquitectura que te lo permita, para que el sistema no se pare. Por que con los assert, el sistema se para.
Esta puede ser una de las razones por la cual no había oído antes nada sobre Assert en Java.