【问题标题】:Why does proceed() give an error为什么proceed()会报错
【发布时间】:2013-03-12 11:01:46
【问题描述】:

我有以下几个方面:

aspect NullifyNoResultException {

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

由于某种原因,继续调用在 Eclipse 中出现错误:

没有为 NullifyNoResultException 类型定义方法proceed()

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

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

【问题讨论】:

    标签: java eclipse aspectj


    【解决方案1】:

    我在您的代码示例中发现了一些语法错误。当我更正它们时,以下示例运行良好。顺便说一句,我定义了自己的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
    

    【讨论】:

    • 哇,谢谢,现在就看看它,让你知道它是怎么回事。
    猜你喜欢
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 2018-08-01
    • 2011-03-25
    相关资源
    最近更新 更多