当前位置:   article > 正文

java从异常里获取入参信息_java – 使用Spring AOP处理异常时获取传递给方法的参数的值...

java从异常里获取入参信息_java – 使用Spring AOP处理异常时获取传递给方法的参数的值...

在我的方面类的方法中,我想获取参数的值和参数的名称.

如果我没有得到名称仍然可以,但我需要获取传递的参数的值是否可能?

(ptCut表达式没有问题,该方法被调用我用sysouts检查)

我的Aspect方法是这样的:

public void excpetionHappened(Exception e) {

// Log the exception

// log the name of the method name/signature which caused the exception

// log the value of the input parameters to the method

// wrap and throw new exctn

}

提前致谢.

解决方法:

你可以使用周围的建议.

这使得在处理异常时可以访问参数.

public aspect ExceptionReporterAspect {

/** The name of the used logger. */

public final static String LOGGER_NAME = "AspectJExceptionLogger";

/** Logger used to log messages. */

private static final Log LOGGER = LogFactory.getLog(LOGGER_NAME);

pointcut stringRequestHandler() :

execution (@RequestMapping Object the.package..*(..));

Object around(): objectRequestHandler(){

try {

return proceed();

} catch (Exception ex){

Signature sig = thisJoinPointStaticPart.getSignature();

Object[] args = thisJoinPoint.getArgs();

String location = sig.getDeclaringTypeName() + '.' + sig.getName() + ", args=" + Arrays.toString(args);

LOGGER.warn("(AOP detected) exception within " + location, ex);

throw(ex)

}

}

}

标签:java,exception-handling,spring,spring-aop

来源: https://codeday.me/bug/20190630/1334574.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/349204
推荐阅读
相关标签
  

闽ICP备14008679号