当前位置: 首页 > 知识库问答 >
问题:

在java 8中使用orElseThrow引发用户定义的异常时出错[duplicate]

漆雕欣德
2023-03-14

我正在尝试使用orelsethrowJava8命令抛出一个自定义的Expetion。然而,我得到了以下编译错误:

public class UserInvitationServiceImpl implements UserInvitationService{

    @Autowired
    private UserRepository userRepository;

    @Override
    public void inviteUser(String email) throws UserNotFoundException {
        // TODO Auto-generated method stub
        if(email!= null && !email.isEmpty()) {
            Optional<User> optionalUser = userRepository.findByEmail(email);
            optionalUser.orElseThrow(new UserNotFoundException("User doesnt exist in system"));
        }
    }       
}

public interface UserInvitationService {   
    void inviteUser(String email) throws UserNotFoundException; 
}

和扩展RunTimeException的自定义异常类UserNotFoundException如下所示:

@ResponseStatus(value = HttpStatus.NOT_FOUND)
public class UserNotFoundException extends RuntimeException {

    /**
     * 
     */
    private static final long serialVersionUID = 9093519063576333483L;

    public UserNotFoundException( String message) {
        super(message);
    }    
}

提前道谢。

共有1个答案

强化
2023-03-14

应为供应商:

.orElseThrow(() -> new UserNotFoundException("User doesnt exist in system"));
 类似资料:
  • 我不能对我的web服务的方法抛出异常。当我在我的方法中抛出异常并尝试从Soap UI测试我的应用程序时,会出现以下错误: 和 我的问题是: 如何为JavaWeb服务编写用户定义的异常? (例如,有一个方法返回一个学生的名字。但是,如果学生在数据库中找不到,会抛出一个错误?)

  • 根据JAVA 8提供的新特性,可选类是防止空指针异常的一种方法。如果输出为null,我们可以使用orelsethow方法()引发异常。我想知道如何使用它抛出用户定义的异常

  • 我试图找出为什么在<代码>中会发生特定行为。orElseThrow在Java流中。此代码块 导致此错误:

  • 我创建了一个自定义异常类 并且在抛出异常时将此异常类发送到客户端。我还使用进行进程。 如何捕获安全过滤器抛出异常并创建用户定义的异常并将其发送到客户端? 我的过滤方法,

  • 我对Java/Spring领域相当陌生,我正在尝试在我的Spring Boot应用程序中使用@ControllerAdvise。ControllerAdvision捕获异常,但不显示我的自定义响应。 下面是引发异常的RestController的快照 以下是@ControllerAdvice