Java 8中双冒号(::)中未处理的异常

时间:2018-03-28 10:45:55

标签: java-8 new-operator throw unhandled-exception colon

我关注这个spring.io tutorial。有这样的功能:

@RequestMapping(method = RequestMethod.GET)
    Collection<Bookmark> readBookmarks(@PathVariable String userId) throws UserNotFoundException {
        this.validateUser(userId);
        List<BookmarkResource> bookmarkResourceList = bookmarkRepository.findByAccountUsername(userId).stream().map(BookmarkResource::new).collect(Collectors.toList()) ;
        return this.bookmarkRepository.findByAccountUsername(userId);
    }

虽然我在函数签名处抛出了UserNotFoundException,但它仍然在双冒号处有Unhandled Exception。我不知道如何抛出这个异常。 Sreenshot of UnhanledException 任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

在Java 8 Streams中,您不能使用抛出已检查异常的方法。您可以将代码包装在try / catch中,或抛出未经检查的异常。

如需全面解答,请参阅this question