Spring MVC:可选vs服务层中的异常

时间:2017-05-07 09:30:48

标签: spring spring-mvc exception optional service-layer

我想构建一个服务层处理用户。

您处理无效ID的建议是什么?返回可选或抛出异常?服务层由表示层调用,返回html视图。

也许还有关于在表示层中处理错误的问题? (默认错误页面,记录,...)

可选

public Optional<User> findOne( Long id ) {

        try {
            User user = userRepository.findOne( id );

            return Optional.ofNullable( user );

        // something blow up in the Repository Layer
        } catch ( Exception ex ) {
            throw new ServiceException( ex );
        }
    }

异常

public User findOne( Long id ) {

        try {
            User user = userRepository.findOne( id );

        // something blow up in the Repository Layer
        } catch ( Exception ex ) {
            throw new ServiceException( ex );
        }

        if ( user == null )
            throw new ServiceException( "Invalid Id" );

        return user;
    }

0 个答案:

没有答案