You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java捕获异常后如何继续执行程序?Doubly Linked List插入场景

解决双向链表批量插入时单个错误终止后续操作的问题

你当前的代码把所有插入操作都放在同一个try块里,一旦某一步插入抛出异常,程序会立刻跳转到catch块执行,剩下的插入代码完全不会运行——这就是为什么最终只输出第一个1的原因。

要实现单个插入失败不影响后续操作的需求,只需要给每一个插入操作单独包裹try-catch块,这样单个错误只会被局部处理,不会中断整个批量插入流程。

修改后的main方法代码如下:

public static void main(String[] args) {
    LinkedList myList = new LinkedList();
    
    // 每个插入操作单独处理异常
    try {
        myList.Insert(1, 0);
    } catch (Exception ex) {
        System.out.println(ex.toString());
    }

    try {
        myList.Insert(5, 54); // 错误的插入操作
    } catch (Exception ex) {
        System.out.println(ex.toString());
    }

    try {
        myList.Insert(1, 0);
    } catch (Exception ex) {
        System.out.println(ex.toString());
    }

    try {
        myList.Insert(1, 0);
    } catch (Exception ex) {
        System.out.println(ex.toString());
    }
    
    myList.Out();
    myList.ReverseOutput();     
}

说明

每个插入操作独立包裹try-catch后,即使中间的myList.Insert(5,54)抛出异常,后续的两次插入依然会正常执行,最终链表中会有三个1,符合你的期望输出。

内容的提问来源于stack exchange,提问作者Fahrettin Gültekin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 23:40:27