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

Java编写ArithmeticException捕获逻辑后仍触发异常问题求助

问题产生原因

你观察到的报错并非程序本身存在未捕获异常,而是IDE调试模式的触发提示,具体原因如下:

  • 你当前以Debug调试模式启动程序,且IDE开启了异常触发断点配置:只要ArithmeticException被抛出,无论后续是否有对应catch块捕获,IDE都会主动暂停主线程,输出你看到的Thread [main] (Suspended (exception ArithmeticException))提示,和代码逻辑无关。
  • 报错中的out of synch提示是调试器和字节码不同步导致的,一般是修改代码后未重新编译就启动调试产生的。
  • 你编写的代码本身异常处理逻辑完全正确,普通运行模式下不会出现未捕获的ArithmeticException。
解决方法
  • 若只需正常运行业务逻辑:选择IDE的普通运行模式(Run而非Debug)启动程序即可,输入3 0后会正常输出预期结果:
    Exception: an integer cannot be divided by zero
    Execution continues ...
    
  • 若需要继续使用调试模式:
    1. 清理项目历史编译产物,重新全量编译代码,解决字节码不同步问题
    2. 打开IDE的断点配置面板,删除针对ArithmeticException的异常断点,或取消「捕获的异常也触发断点」的勾选即可,后续调试时抛出该异常就不会自动暂停线程。

内容的提问来源于stack exchange,提问作者Kay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:27:02