Я хочу поймать и проигнорировать ошибку 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");
}
}
Исключение в потоке "main" java.lang.ArrayIndexOutOfBoundsException: Неверный индекс: 02
на com.lowagie.text.pdf.CMapAwareDocumentFont.decodeSingleCID (неизвестный источник)
на com.lowagie.text.pdf.CMapAwareDocumentFont.decode (неизвестный источник)
на com.lowagie.text.pdf.parser.PdfContentStreamProcessor.decode (неизвестный источник)
at 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)
edit: Я поместил try / catch в цикл for
, добавил трассировку стека
и удалил index = 1