这怎么可能?看起来像白天一样,来自第三方图书馆的例外情况正在跳过我的catch块。不知道从哪里开始解决这个问题。这要么是我真的很愚蠢,要么是我不了解有关例外和Java的细微内容。Java异常未被捕获
我的控制台:
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)
问题是我的代码如下所示:
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
我更
还将一条调试线放入ScanComplete catch块中。 –
您确定日志级别足够高以显示“调试”吗? –
在第283行放置了一个断点,看它是否被击中。 (调试行) – MeBigFatGuy