首页 > 解决方案 > java - 如何处理和记录Optional或者在java中抛出自定义异常?

问题描述

我有一种情况,我想在成功映射的情况下记录成功消息,如果出现错误,那么它不仅会引发自定义异常,还会将该异常消息记录到日志服务中。

代码现在看起来像这样

public ResponseEntity<Abc> getKontroll(){

  return ogkMaster.performCheck(ors,agk)
                .map(ogka -> {
                    Abc kResponse = Abc.builder()
                            .id(idGeneratorUtil.generateRandomId())                                         
                            .organisationsnummer(ogka.getCompany())
                            .build();

                    logService.auditKreditslagning(ogk.getCompany(), id, "map successful");
            
                    return ResponseEntity.ok(kResponse);
                })
                .orElseThrow(() -> new AgkValidationException("Could not map successfully", 218));
    }

如果出现异常,我想做的是这样的

.orElseThrow(() ->{
Exception e = new AgkValidationException("Could not map", 218));

logService.auditKreditslagning(ogk.getCompany(), id, e.getMessage());

throw e;
}

如果 ogkMaster 是可选值,我该怎么做?并且 ogk.getCompany() 也需要在异常情况下不存在。

标签: javaexceptionloggingoptional

解决方案


推荐阅读