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

Java中|运算符作用于类场景时的具体含义是什么?

Java catch块中|符号的含义

你看到的RuntimeException | Error e中的|不是位运算符,是Java 7版本开始支持的多重异常捕获语法的类型分隔符,作用是在单个catch块中同时处理多种类型的异常。

核心特性

  • 简化重复的异常处理逻辑:如果多个异常类型的处理逻辑完全一致,不需要分开写多个catch块,用|分隔异常类型即可
  • 你提供的示例中catch (RuntimeException | Error e)表示:当try块抛出RuntimeException或者Error类型的异常时,都会进入当前catch块执行统一的处理逻辑
  • 语法限制:通过多重捕获声明的异常变量e默认是final修饰的,无法在catch块内对e重新赋值

语法对比(Java 7之前的等价写法)

Java 7没有推出多重捕获语法前,相同逻辑需要写两个重复的catch块:

catch (RuntimeException e) {
  callback.onFailure(e);
  return;
}
catch (Error e) {
  callback.onFailure(e);
  return;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:36:02