Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不';t compile:sparkjava异常处理_Java_Intellij Idea_Exception Handling_Spark Java - Fatal编程技术网

不';t compile:sparkjava异常处理

不';t compile:sparkjava异常处理,java,intellij-idea,exception-handling,spark-java,Java,Intellij Idea,Exception Handling,Spark Java,我试图遵循此处的sparkjava异常处理示例,但没有成功:。看来他们发布的代码不太正确?我能够修复其中一个发布的方法,以便进行编译。文档页面上未编译的方法是: get("/throwexception", (request, response) -> { throw new NotFoundException(); }); 我改为这段代码,它编译: get(new Route("/throwexception") { @Override

我试图遵循此处的sparkjava异常处理示例,但没有成功:。看来他们发布的代码不太正确?我能够修复其中一个发布的方法,以便进行编译。文档页面上未编译的方法是:

get("/throwexception", (request, response) -> {
    throw new NotFoundException();
});
我改为这段代码,它编译:

    get(new Route("/throwexception") {
        @Override
        public Object handle(Request request, Response response)  {
            throw new IllegalArgumentException();
        }
    });
但是,我无法编译此方法。怎么了?我正在使用Java8和IntelliJCommunityEdition 15.0.2进行编译。我的java模块设置为语言级别8。以下是可疑方法:

    exception(Exception.class, (e, request, response) -> {
        //TODO: implement this after it compiles.
    });
以下是我从编译器中得到的错误:

Error:(83, 9) java: cannot find symbol
  symbol:   method exception(java.lang.Class<java.lang.Exception>,(e,request[...]->{ })
  location: class org.me.JournalController

原始代码使用lambda表达式,您应该使用Java8来编译它。

我的maven文件两次列出了sparkjava依赖项。我想我的IDE在某个时候自动为我导入了1.1.1,但我没有意识到这一点。我得了1.1分和2.3分。当我删除过时的1.1.1 sparkjava依赖项时,一切都按预期进行。

您可以将throw语句提取到函数中:

get("/throwexception", () -> BlowUp());

(snip)

public static void BlowUp()
{
    throw new NotFoundException();
});

我相信我正在使用JavaJDK1.8.0_66。我可以在项目配置中看到这是我选择的。此外,我的模块具有8级语言。可能是其他原因吗?java版本“1.8.0_66”java(TM)SE运行时环境(构建1.8.0_66-b17)java热点(TM)64位服务器虚拟机(构建25.66-b17,混合模式)是否已导入静态spark.spark.*;在你文件的开头?对不起,我没主意了:(我更新了这个问题。我尝试了一个带有lambda表达式的类,它确实可以编译…我怀疑您发现了一些问题…我可能没有正确配置spark。不确定我可能缺少什么。我将添加我的maven代码。我最初是这样做的。我进行了修改,试图修复由maven依赖性问题导致的编译错误。)谢谢你的建议;)
get("/throwexception", () -> BlowUp());

(snip)

public static void BlowUp()
{
    throw new NotFoundException();
});