¿Cómo puede ser esto? Parece claro como la luz del día una excepción de una biblioteca de terceros se está saltando mi bloque catch. No estoy seguro por dónde comenzar a solucionar este problema. O soy realmente estúpido o no entiendo algo sutil sobre excepciones y Java.Excepción de Java no detectada
Mi consola:
Exception: org.apache.james.mime4j.io.MaxLineLimitException: Maximum line length limit exceeded; stack: org.apache.james.mime4j.stream.MimeEntity.readRawField(MimeEntity.java:242); org.apache.james.mime4j.stream.MimeEntity.nextField(MimeEntity.java:258); org.apache.james.mime4j.stream.MimeEntity.advance(MimeEntity.java:296); org.apache.james.mime4j.stream.MimeTokenStream.next(MimeTokenStream.java:360); me.unroll.scanner.Scanner.<init>(Scanner.java:206); me.unroll.scanner.ScannerThread.run(ScannerThread.java:205); java.lang.Thread.run(Thread.java:722)
El problema es que mi código es el siguiente:
try {
//...
for(EntityState token = messageStream.getState();
token != EntityState.T_END_OF_STREAM;
token = messageStream.next()) { //this is Scanner.java:206
//...
catch(ScanComplete exc) { }
catch(MaxLineLimitException exc) { //line 282, matches "try" above
debug("Am I getting caught?"); //no, it's not
estoy más
Ponga una línea de depuración también en el bloque catch de ScanComplete. –
¿Está seguro de que el nivel de registro es lo suficientemente alto para que se muestre una "depuración"? –
ponga un punto de quiebre en la línea 283 y vea si recibe un golpe. (la línea de depuración) – MeBigFatGuy