Hacer que SimpleDateFormat.parse () falle en fechas no válidas (por ejemplo, el mes es mayor que 12)

Estoy usandojava.text.SimpleDateFormat para analizar las cadenas de la forma"yyyyMMdd".

Si trato de analizar una cadena con un mes mayor que 12, en lugar de fallar, se pasa al año siguiente. Repro ejecutable completo:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ParseDateTest {

    public static void main(String[] args) throws ParseException {

        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
        Date result = format.parse("20091504"); // <- should not be a valid date!
        System.out.println(result); // prints Thu Mar 04 00:00:00 CST 2010
    }
 }

Prefiero tener unParseException arrojado

¿Hay alguna forma no forzosa de forzar la excepción? Quiero decir, no quiero verificar manualmente si el mes es mayor que 12. Eso es un poco ridículo.

Gracias por cualquier sugerencia.

NOTA: Ya sé sobre Joda Time, pero necesito que esto se haga en JDK simple sin bibliotecas externas.

Respuestas a la pregunta(3)

Su respuesta a la pregunta