【问题标题】:Do catch block executes if logger.error() hit/show in try block如果 logger.error() 在 try 块中命中/显示,则执行 catch 块
【发布时间】:2021-11-10 18:51:18
【问题描述】:

也许是一个基本问题,但我想知道,比如我是否在 try 块中有 logger.error()。如果try块执行,它是否调用在try块之后写入的catch块。

例如:

       try {
            
                logger.error(String.format("No data found for pId: %s " +
                        "Id : %s for xyzId : %s", placeId, pId, xyzId));
                System.out.println("Executed_1")
           
        } catch (RuntimeException e) {
            logger.error("Error occured while reading prices section from revision") 
        }
       System.out.println("Executed_2")
 

【问题讨论】:

  • 当您说“如果条件在 try 块中为真”时,您的意思是 if (true) {?那么条件将永远为真:-)

标签: java try-catch


【解决方案1】:

只有在 try 块中抛出 RuntimeException 时才会执行 catch 块。如果 logger.error() 没有抛出那个异常,那么调用它就不会触发你的 catch 块。

【讨论】:

  • 所以在这里(上面的代码)尝试块内容不会在这里抛出运行时异常?对
猜你喜欢
  • 2022-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-03
  • 2023-02-12
  • 2020-12-11
相关资源
最近更新 更多