如何在Dynamic Web应用程序中读取属性文件

时间:2012-03-28 18:00:53

标签: java web-services java-ee axis2

我正在动态网络应用程序中读取属性文件,如下所示:

try
{
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("messages.properties"));
}
catch(IOException e){
e.printStackTrace();
throw new AxisFault(e.getMessage());
}

它正确加载消息而没有任何问题,我将其复制到WEB-INF / classes目录中。现在,如果我删除该文件并尝试运行Web应用程序,则会抛出NullPointerException,而不是捕获并抛出Axis Fault异常。

如果message.properties文件不存在,如何捕获异常?

1 个答案:

答案 0 :(得分:0)

NullPointerException是一个运行时异常,因此编译器不会警告您没有捕获它。它不是一种IOException,所以它不会被你的catch块捕获。

你可以这样做:

try {
    //do something
} catch (IOException e) {
} catch (NullPointerException e) {
}

或捕捉所有其他例外

try {
    //do something
} catch (IOException e) {
} catch (Exception e) {
}