为什么异常被捕获 3 次?

我正在FileNotFoundException通过 log4j2 捕获并将其记录到文件中。日志语句被调用三次。我用 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");

}


子衿沉夜
浏览 82回答 1
1回答

回首忆惘然

这个问题不应该首先发布。问题的根本原因是3类继承了一个Base类,Base类构造函数中的一个方法被调用了三次。移出这个“init”方法解决了这个问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java