首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >飞行中的Saucer -无法捕捉到IOException正在关闭流

飞行中的Saucer -无法捕捉到IOException正在关闭流
EN

Stack Overflow用户
提问于 2015-11-06 18:20:13
回答 1查看 468关注 0票数 0

我正在为内部端口引发一个CSS文件加载错误,以查看它是否处理了这样的问题。

我所拥有的代码是这样的,当它到达renderer.setDocument() ( ITextRenderer类中的一个方法)时,它抛出一个我们需要捕捉的无法理解的exeception,即使在这种情况下,它也继续到renderer.layout(),最后是{}块。

代码语言:javascript
复制
private ITextRenderer renderPdfByRenderer(
                final ITextRenderer renderer,
    ...
                  {
    ...

            try {
    ...
                org.w3c.dom.Document xhtmlContent = createDocument(contentReader);

    ...

                renderer.setDocument(xhtmlContent, FacesContextHelper.getRequest().getRequestURL().toString());

    ...      

                renderer.layout();

    ....

            } catch (final SAXException e) {
                throw getExceptionOnRender(e);
            } catch (final ParserConfigurationException e) {
                throw getExceptionOnRender(e);
            } catch (final DocumentException e) {
                throw getExceptionOnRender(e);
            } catch (IOException e) {
                e.printStackTrace();
                throw getExceptionOnRender(e);
            } catch (final ServletException e) {
                throw getExceptionOnRender(e);
            }
            finally{
               ...
            }
        }

err java.io.IOException:流关闭错误在java.io.BufferedInputStream.getInIfOpen(BufferedInputStream.java:134),err在java.io.BufferedInputStream.read1(BufferedInputStream.java:256),err在java.io.BufferedInputStream.read(BufferedInputStream.java:317) err,sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264) err在sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306),err,sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158) err,java.io.InputStreamReader.read(InputStreamReader.java:167) err,org.xhtmlrenderer.css.parser.Lexer.zzRefill(Lexer.java:1634) err,org.xhtmlrenderer.css.parser.Lexer。yylex( org.xhtmlrenderer.css.parser.CSSParser.next(CSSParser.java:1807) ) err,org.xhtmlrenderer.css.parser.CSSParser.la(CSSParser.java:1819) err,org.xhtmlrenderer.css.parser.CSSParser.stylesheet(CSSParser.java:159) err,org.xhtmlrenderer.css.parser.CSSParser.parseStylesheet(CSSParser.org.xhtmlrenderer.context.StylesheetFactoryImpl.parse(StylesheetFactoryImpl.java:78),err,org.xhtmlrenderer.context.StylesheetFactoryImpl.parse(StylesheetFactoryImpl.java:95),err,org.xhtmlrenderer.context.StylesheetFactoryImpl.getStylesheet(StylesheetFactoryImpl.java:174),err,org.xhtmlrenderer.context.StyleReference.readAndParseAll(StyleReference.java:123)在org.xhtmlrenderer.context.StyleReference.setDocumentContext(StyleReference.java:111),err,org.xhtmlrenderer.pdf.ITextRenderer.setDocument(ITextRenderer.java:182) err,org.xhtmlrenderer.pdf.ITextRenderer.setDocument(ITextRenderer.java:145) err,osplus.mcp.frontend.servlet.RendererFilter.renderPdfByRenderer(RendererFilter.java:750) err,osplus.mcp.frontend.servlet.RendererFilter.renderPdf(RendererFilter.java:697) err在osplus.mcp.frontend.servlet.RendererFilter.handleReport(RendererFilter.java:1265) err在osplus.mcp.frontend.servlet.RendererFilter.doFilter(RendererFilter.java:178) err在com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194) err在内部类

有谁能帮我理解一下怎么才能抓住这个异常吗?

谢谢。

问候

EN

回答 1

Stack Overflow用户

发布于 2015-11-06 18:23:10

您可以捕获这样的特定异常:

代码语言:javascript
复制
try {
   (ITextRenderer(a))setDocument(..)..
} catch (IOException ioe){
    ioe.printStackTrace();
}

但是,如果不能捕获异常,可能是因为API不允许您捕获异常,而只是转储堆栈并尝试处理异常本身。重复检查传入的参数,以确保您不能自己筛选出错误条件。如果您正在使用高级IDE (例如。,您应该能够在抛出IOException时设置一个断点,以便分析正在发生的事情。此外,您也可以尝试并跟踪源代码来查看它告诉您的任何信息。此外,如果无法解决此问题,请尝试与代码的作者联系。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33573186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档