加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何返回对象列表以及Exception

发布时间:2020-12-15 04:46:33 所属栏目:Java 来源:网络整理
导读:我的 Java程序有一个返回List的方法.它使用各种SQL查询填充列表.在某些情况下,数据可能不存在.在那种情况下,我要抛出异常.由于它是一个列表,列表可能包含有效数据.是否可以获取列表以及捕获例外? public ListStudent getStudentInfo(){ //Contains some sta
我的 Java程序有一个返回List的方法.它使用各种SQL查询填充列表.在某些情况下,数据可能不存在.在那种情况下,我要抛出异常.由于它是一个列表,列表可能包含有效数据.是否可以获取列表以及捕获例外?

public List<Student> getStudentInfo(){
    //Contains some static info like name,dob of a Student
    List<Student> students = getStudentStaticInfo();
    try{
        for (Student student: students){
            student.setTotalMarks(getStudentMark(student.getId()));
            ...
        }
    catch(FailedToFetchDataException e) {
        throw new Exception("Failed to fetch data");
    } finally {
        return students;
    }

}

在这种情况下,该方法返回有效学生信息的列表.但是在例外的情况下,我无法找到答案.

有没有办法处理两者,获取有效信息以及获得特殊情况.

解决方法

抛出异常后,您的方法将立即停止,如果不是,则必须处理多个异常.你可以这样做.

public List<Student> getStudentInfo(
                     BiConsumer<FailedToFetchDataException,Student> handleError) {
    //Contains some static info like name,dob of a Student
    List<Student> students = getStudentStaticInfo();
    for (Student student: students) {
        try{
            student.setTotalMarks(getStudentMark(student.getId()));
            ...
        } catch(FailedToFetchDataException e) {
            handleError.accept(e,student);
        }
    }
    return students;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读