为什么异常被捕获3次?

时间:2019-05-15 07:29:52

标签: java exception log4j2

我正在捕获FileNotFoundException并将其通过log4j2记录到文件中。 log语句被三次调用。我用sysout语句替换了log语句,以检查它是否打印了3次消息。它确实打印了3次到控制台。为什么sysout语句或log语句被调用3次? 下面是代码段。

prop = new Properties();
String path ="invalid path";
try {
    FileInputStream fis = new FileInputStream(path);
} catch (FileNotFoundException e) {
    log.error("FileInputStream exception");
    System.out.println("Exception");
}

1 个答案:

答案 0 :(得分:-1)

这个问题不应该放在第一位。问题的根本原因是3类继承了一个基类,并且基类构造函数中的一个方法被调用了三次。移出此“ init”方法解决了该问题。我不确定这个“坏”问题已经被否决了,因此导致我的问题禁令。现在该怎么做?