我想捕获并忽略 ArrayIndexOutOfBoundsException 错误(基本上这不是我可以控制的,所以我需要我的程序继续运行)。
但是,我的 try/catch 对似乎没有捕捉到异常并忽略它。希望你能找出我做错了什么。
异常发生在这一行
内容 = 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 中的异常:索引无效:com.lowagie.text.pdf.CMapAwareDocumentFont.decodeSingleCID(Unknown Source) at com.lowagie.text.pdf.CMapAwareDocumentFont.decode(Unknown Source) at com 的 02 .lowagie.text.pdf.parser.PdfContentStreamProcessor.decode(Unknown Source) at com.lowagie.text.pdf.parser.PdfContentStreamProcessor.displayPdfString(Unknown Source) at 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(Unknown Source) at com.pdfextractor.main.Extractor.main(Extractor.java:64)
编辑:我已将 try/catch 放在 for 循环中
,并添加了堆栈跟踪
并删除了 index=1