怎么跳过异常,让代码继续执行

img

img


这个问题,怎么跳过异常,让代码继续执行?
就是继续打印7,8,9

把 int a = 1 / 0; 这一行 try -catch 掉就行了

你把try写进循环里面就行了
现在是一旦进入catch就跳出循环了呀
换句话说,把try和for的位置换一换

你把 1/0 try{} catch 不就行了

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7649026
  • 你也可以参考下这篇文章:前置增强 ,后置增强,异常增强,环绕增强 静态代理,动态代理
  • 除此之外, 这篇博客: 编写整洁的并发程序非常难,简单的代码也会变成噩梦?中的 8  很难编写正确的关闭代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    编写永远运行的系统,与编写运行一段时间后平静地关闭的系统是两码事。

    平静关闭很难做到。常见问题与死锁[15]有关,线程一直等待永远不会到来的信号。

    例如,想象一个系统中有个父线程分裂出数个子线程,父线程等待所有子线程结束,然后释放资源并关闭。如果其中一个子线程发生死锁会怎样?父线程将一直等待下去,而系统就永远不能关闭。

    或者,考虑一个被指示关闭的类似系统。父线程告知全体子线程放弃任务并结束。如果其中两个子线程正以生产者/消费者模型操作会怎样呢?假设生产者线程从父线程处接收到信号,并迅速关闭。消费者线程可能还在等待生产者线程发来消息,于是就被锁定在无法接收到关闭信号的状态中。它会死等生产者线程,永不结束,从而导致父线程也无法结束。

    这类情形并非那么不常见。如果你要编写涉及平静关闭的并发代码,请多预留一些时间搞对关闭过程。

    建议:尽早考虑关闭问题,尽早令其工作正常。这会花费比你预期更多的时间。检视既有算法,因为这可能会比想象中难得多。

  • 您还可以看一下 纪佳琪老师的机器学习之决策树理论与代码实践课程中的 决策树原生代码实现:选择最好的划分特征小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    要在代码中处理异常并继续执行后续代码,可以使用try-except语句。在try块中,放置可能会抛出异常的代码,然后在except块中处理异常。以下是一个示例代码解决方案:

    try:
        # 这里是可能会抛出异常的代码
        ...
    except Exception as e:
        # 这里是希望处理异常的代码,以便能够继续执行后续代码
        print(f"发生了一个异常: {e}")
    
    # 这里是我希望能够继续执行的代码
    ...
    

    在上面的代码中,如果try块中的代码抛出了异常,程序会跳转到except块来处理异常。你可以在except块中添加你希望执行的代码,可以打印异常信息或者采取其他行动。然后,程序会继续执行try-except语句后面的代码。

    举个例子,假设你希望在下面的代码中遇到异常时打印数字7、8、9:

    try:
        # 这里是可能会抛出异常的代码
        for i in range(10):
            if i == 6:
                raise ValueError("出现了一个异常")
            print(i)
    except ValueError as e:
        # 这里是希望处理异常的代码,以便能够继续执行后续代码
        print(f"发生了一个异常: {e}")
    
    # 这里是我希望能够继续执行的代码
    for i in range(7, 10):
        print(i)
    

    运行上述代码,输出结果将会是:

    0
    1
    2
    3
    4
    5
    发生了一个异常: 出现了一个异常
    7
    8
    9
    

    当循环执行到数字6时,会抛出一个ValueError的异常,然后程序跳转到except块中打印出异常信息。接着,继续执行后续代码打印出数字7、8、9。注意,这个示例中使用了一个特定的异常ValueError,你可以根据实际情况使用适合的异常类型。

    希望以上解决方案能够帮助到你!如果有任何问题,请随时追问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^