【发布时间】:2017-12-27 21:15:54
【问题描述】:
如何在 Java 中捕获异常参数
只是一个例子,在这样的代码中
MyClass obj = null;
logger.info("the field is " + obj.field);
抛出空指针异常。有没有办法自动做到这一点:
MyClass obj = null;
try {
logger.info("the field is " + obj.field);
} catch(Exception e) {}
也许使用 Spring AOP、注解等?
编辑:我想要一些能够捕获任何异常的东西,这样我就不会从尝试记录的代码行中抛出异常。
【问题讨论】:
-
静默消耗异常是你真正想要的吗?为什么不使用
logger.info("the field is " + obj == null ? "null" : obj.field);之类的东西? -
你不能,而且 aop 在这里不会有任何帮助。如何使用所需的所有信息在您的类上创建一个 toString 实现并将您的引用附加到字符串?这样你就不用担心 nullity(如果 null 字符串“null”将被显示)
-
我想让代码不受参数中任何异常的影响(因此日志记录无法让我们失望)。这只是一个例子
-
我从未听说过任何日志框架从日志方法中抛出异常。您有理由相信这会发生吗?
-
见q中的例子
标签: java exception-handling nullpointerexception annotations spring-aop