gpt4 book ai didi

java - 为什么 proceed() 报错

转载 作者:搜寻专家 更新时间:2023-11-01 03:25:20 26 4
gpt4 key购买 nike

我有以下几个方面:

aspect NullifyNoResultException {

Object around(..) : execution(public Object com.example.*.*(..) {
try { return proceed();
} catch (NoResultException e) {
return null;
}
}
}
}

由于某种原因,继续调用在 Eclipse 中给出了一个错误:

The method proceed() is undefined for the type NullifyNoResultException

当我在 maven 中构建时 -> mvn install 我没有收到任何错误。但这没有任何意义,因为我仍然缺少 NoResultException 的导入,所以 maven 应该对此提示。
相反,它只是构建而不是提示。

如何让 Eclipse 停止提示 proceed()
以及如何构建这个方面?

最佳答案

我在您的代码示例中发现了一些语法错误。当我更正它们时,以下示例运行良好。顺便说一句,我定义了自己的 NoResultException 因为我没有安装 Java EE。

package javax.persistence;

public class NoResultException extends RuntimeException {
private static final long serialVersionUID = 1L;
}
package com.example.stackoverflow;

import javax.persistence.NoResultException;

public class Application {
public static void main(String[] args) {
Application app = new Application();
System.out.println(app.valueReturningMethod(1, "two"));
System.out.println(app.exceptionThrowingMethod(1, "two"));
}

public Object valueReturningMethod(int i, String string) {
return "normal result";
}

public Object exceptionThrowingMethod(int i, String string) {
throw new NoResultException();
}
}
package com.example.stackoverflow;

import javax.persistence.NoResultException;

aspect NullifyNoResultException {
Object around() : execution(public Object com.example..*(..)) {
try {
return proceed();
} catch (NoResultException e) {
return null;
}
}
}

输出符合预期:

normal result
null

关于java - 为什么 proceed() 报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15359395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com