首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ServletContextListener引发异常

从ServletContextListener引发异常
EN

Stack Overflow用户
提问于 2009-08-26 13:40:29
回答 1查看 2.2K关注 0票数 4

我想从实现ServletContext的类中的方法中抛出一个ServletContextLister异常。

以下是我的实现失败的原因:

代码语言:javascript
复制
public class  Initializer implements ServletContextListener {

    private void checkEncryptedFile() throws ServletException {

    FileReader fr;
    try {
        fr = new FileReader("TestFile");
        BufferedReader br = new BufferedReader(fr);
        String str = br.readLine();
        if(!str.equals("aasditya")){
        throw new ServletException();
        }


    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    catch(IOException e){
        e.printStackTrace();
    }
    catch(ServletException se){
        throw new ServletException("kiasku " + se.getMessage(), se);

    }
    }
}

有人能建议其他方法吗。请给我带路。谢谢

EN

回答 1

Stack Overflow用户

发布于 2009-08-26 13:57:59

当接口方法也抛出异常时,应该删除catch块

代码语言:javascript
复制
try {
                //....

    }
    catch(IOException e){
            throw new ServletException("kiasku " + e.getMessage(), e);
    }

比你的异常处理更有效。

编辑:

您是否正确地实现了ServletContextListener的接口方法?它们不在您的代码示例中。但他们必须在课堂上。

据我所见,interfae方法没有抛出任何类型的异常。当您真的想破坏侦听器通知时,您必须抛出一个RuntimeException。

EDIT2:

我也会改变

代码语言:javascript
复制
if(!str.equals("aasditya")){
throw new ServletException();
}

代码语言:javascript
复制
if(!"aasditya".equals(str)){
throw new ServletException();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1334766

复制
相关文章

相似问题

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