【发布时间】:2010-12-17 17:55:43
【问题描述】:
我想捕获并忽略 ArrayIndexOutOfBoundsException 错误(基本上它不是我可以控制的,所以我需要我的程序继续运行)。
但是我的 try/catch 对似乎没有捕捉到异常并忽略它。希望你能找出我做错了什么。
异常发生在这一行
content = extractor.getTextFromPage(page);
这是我的代码:
for(int page=1;page<=noPages;page++){
try{
System.out.println(page);
content = extractor.getTextFromPage(page);
}
}
catch (ArrayIndexOutOfBoundsException e){
System.out.println("This page can't be read");
}
}
线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:无效索引:02 在 com.lowagie.text.pdf.CMapAwareDocumentFont.decodeSingleCID(未知来源) 在 com.lowagie.text.pdf.CMapAwareDocumentFont.decode(未知来源) 在 com.lowagie.text.pdf.parser.PdfContentStreamProcessor.decode(未知来源) 在 com.lowagie.text.pdf.parser.PdfContentStreamProcessor.displayPdfString(未知来源) 在 com.lowagie.text.pdf.parser.PdfContentStreamProcessor$ShowText.invoke(未知来源) 在 com.lowagie.text.pdf.parser.PdfContentStreamProcessor.invokeOperator(未知来源) 在 com.lowagie.text.pdf.parser.PdfContentStreamProcessor.processContent(未知来源) 在 com.lowagie.text.pdf.parser.PdfTextExtractor.getTextFromPage(未知来源) 在 com.pdfextractor.main.Extractor.main(Extractor.java:64)
编辑:我已将 try/catch 放在 for 循环中
并添加了堆栈跟踪
并删除了 index=1
【问题讨论】:
-
顺便说一句,'int index = 1' 行在这种情况下完全没用,除非您在 try 块中省略了代码以用于发布目的
-
是的没错,我省略了处理但忘记了index=1,现在将其删除
-
循环内只有try,catch语句在外
-
那是关于 iText 并试图找出导致异常的原因。这是关于我们如何忽略无法解决的异常。
标签: java exception-handling indexoutofboundsexception