先码一个,try catch没有捕获到OutOFBoundsException

本文探讨了一个具体的Java程序中出现的IndexOutOfBoundsException问题,并讨论了如何正确地处理异常以避免程序崩溃,同时给出了修改后的代码需要进行Maven项目的清理和重新构建的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源码:
public Integer findTypeById(String type) throws Exception {
    Integer page = null;
    System.out.println(type);
    NewsTypeExample newsTypeExample = new NewsTypeExample();

    NewsTypeExample.Criteria criteria = newsTypeExample.createCriteria();
    criteria.andTypeDirEqualTo(type);

    List<NewsType> types = newsTypeMapper.selectByExample(newsTypeExample);
    try {
        page = types.get(0).getTypeId();
    } catch (IndexOutOfBoundsException e) {
        throw new CustomException("分类不存在。");
    }
    return page;
}
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.rangeCheck(ArrayList.java:653)
	at java.util.ArrayList.get(ArrayList.java:429)
	at com.amoxu.service.impl.NewsServiceImpl.findTypeById(NewsServiceImpl.java:75)
期望的是交给CustomerException处理,系统交给全局的控制器处理了。
目前还有找到原因。
待续

好吧 修改文件之后要在maven里clean之后再运行



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值