未捕获并忽略ArrayIndexOutOfBoundsException

Ank*_*kur 5 java exception-handling indexoutofboundsexception

我想捕获并忽略和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");
    }    
}
Run Code Online (Sandbox Code Playgroud)

线程"main"中的异常java.lang.ArrayIndexOutOfBoundsException:来自com的com.lowagie.text.pdf.CMapAwareDocumentFont.decode(未知来源)的com.lowagie.text.pdf.CMapAwareDocumentFont.decodeSingleCID(未知来源)中的索引: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的com.lowagie.text.pdf.parser.PdfContentStreamProcessor.processContent(未知来源) com.pdfextractor.main.Extractor.main上的.pdfTextExtractor.getTextFromPage(未知来源)(Extractor.java:64)

编辑:我已将try/catch放在for循环中
并添加了堆栈跟踪
并删除了index = 1

dig*_*nie 4

您放入 catch 中的 ArrayIndexOutOfBoundsException 是否与抛出的异常来自同一个包?即java.lang

或者也许捕获 throwable 看看是否有效。