Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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
在Java8中的optional中引发自定义异常_Java_Java 8_Optional - Fatal编程技术网

在Java8中的optional中引发自定义异常

在Java8中的optional中引发自定义异常,java,java-8,optional,Java,Java 8,Optional,我有一段代码,我想在没有找到资源的情况下抛出一个异常 Menu menu = menuService.findById(addMenuAmount.getMenuId()) .orElseThrow(com.tdk.web.exception.ResourceNotFoundException(“menu " + addMenuAmount.getMenuId() + " not found ")

我有一段代码,我想在没有找到资源的情况下抛出一个异常

Menu menu = menuService.findById(addMenuAmount.getMenuId())
                    .orElseThrow(com.tdk.web.exception.ResourceNotFoundException(“menu "  + 
                            addMenuAmount.getMenuId() + " not found "));
但我有一个编译错误:

com.tdk.web.exception cannot be resolved to a type

尝试此操作并确保com.tdk.web.exception.ResourceNotFoundException可访问

Menu menu = menuService.findById(addMenuAmount.getMenuId())
                    .orElseThrow(() -> new com.tdk.web.exception.ResourceNotFoundException("menu "  + 
                            addMenuAmount.getMenuId() + " not found "));

注意lambda->and quotes菜单。

尝试此操作,并确保com.tdk.web.exception.ResourceNotFoundException是可访问的

Menu menu = menuService.findById(addMenuAmount.getMenuId())
                    .orElseThrow(() -> new com.tdk.web.exception.ResourceNotFoundException("menu "  + 
                            addMenuAmount.getMenuId() + " not found "));
注意lambda->and quotes菜单。

可选。orElseThrow接受提供/创建异常的供应商。您似乎正在直接传递异常。orElseThrow期望供应商作为其唯一参数。可以使用lambda表达式返回要抛出的异常。供应商的唯一方法不接受任何参数,在这种情况下,希望您返回异常或子类。->新建YourException就足够了。可选。orElseThrow接受提供/创建异常的供应商。您似乎正在直接传递异常。orElseThrow期望供应商作为其唯一参数。可以使用lambda表达式返回要抛出的异常。供应商的唯一方法不接受任何参数,在这种情况下,希望您返回异常或子类。->新的例外就足够了。