JEP 533:改进 JDK 27 中 Java 结构化并发的异常处理机制

TL;DR · AI 摘要
JEP 533 在 JDK 27 中引入了新的异常处理机制,提高了并发编程的安全性和可靠性。
核心要点
- JDK 27 引入了新的异常处理机制,提高了并发编程的安全性和可靠性。
- 新的机制减少了因未捕获的异常而导致的程序崩溃。
- 开发者现在可以更容易地理解和调试并发程序中的错误。
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- JEP 533 异常处理改进
- 背景和目的
- 实现细节
- 异常传播机制
- 应用场景
- 提高安全性
金句 / Highlights
值得收藏与分享的关键句。
JEP 533 提供了一种更安全的方式来处理结构化并发中的异常。
新的机制减少了因未捕获的异常而导致的程序崩溃。
开发者现在可以更容易地理解和调试并发程序中的错误。
JEP 533 强化 Java 结构化并发中的异常处理 - InfoQ
[BT](https://www.infoq.com/int/bt/ "bt")
InfoQ 软件架构师通讯
每月一次的架构师或有志成为架构师的您需要了解的内容概览。
输入您的电子邮件地址
选择国家 - [√] 我同意 InfoQ.com 按照此隐私声明处理我的数据。
关闭
直播网络研讨会和问答:更快地交付,更频繁地出错:在人工智能时代重新思考交付系统(2026年5月28日)
关闭
切换导航
促进知识和创新在专业软件开发领域的传播
英语版
[为InfoQ撰稿](https://www.infoq.com/write-for-infoq/ "为InfoQ撰稿")
搜索
开启完整的InfoQ体验
通过登录!保持对您关心的主题和作者的关注,随时获取最新洞察和趋势,以及免费访问持续学习资源。
或者
没有InfoQ账户?
- 保持对主题和作者的关注,及时获取最新资讯接收有关最新见解和趋势的即时通知。
- 随时随地访问免费的学习资源迷你书籍、带有字幕的视频和培训材料。
- 收藏文章,随时阅读保存文章以备日后阅读。
发展领域特色
Dany Lepage 分享了其团队如何将一款热门的VR游戏移植到七个非VR平台上,支持每秒五百万次查询,并保持高达99.5%的可靠性。他解释了DocDB的架构,并分享了Stripe如何利用自定义的零停机时间数据迁移平台来实现水平分割、版本升级和多租户迁移,同时保持全球商务所需的严格一致性。
/presentations/game-vr-flat-screens/en/smallimage/thumbnail-1775637585504.jpg)
更多关于发展领域关注主题
[架构与设计](https://www.infoq.com/architecture-design/ "架构与设计")
- [架构](https://www.infoq.com/architecture/ "架构")
- [企业架构](https://www.infoq.com/enterprise-architecture/ "企业架构")
- [可扩展性/性能](https://www.infoq.com/performance-scalability/ "可扩展性/性能")
- [设计](https://www.infoq.com/design/ "设计")
- [案例研究](https://www.infoq.com/Case_Study/ "案例研究")
- [微服务](https://www.infoq.com/microservices/ "微服务")
- [服务网格](https://www.infoq.com/servicemesh/ "服务网格")
- [模式](https://www.infoq.com/DesignPattern/ "模式")
- [安全](https://www.infoq.com/Security/ "安全")
关注架构与设计领域特色
Jimmy Morzaria 讨论了Stripe数据库层级的发展历程,以支持每秒五百万次查询并保持高达99.5%的可靠性。他介绍了DocDB的架构,并分享了Stripe如何利用自定义的零停机时间数据迁移平台来进行水平分割、版本升级和多租户迁移,同时保持全球商务所需的严格一致性。
/presentations/docdb-online-database/en/smallimage/jimmy-morzaria-thumbnail-1776864724742.jpeg)
更多关于架构与设计领域关注主题
[人工智能基础设施](https://www.infoq.com/ai-ml-data-eng/ "人工智能基础设施")
- [大数据](https://www.infoq.com/bigdata/ "Big Data")
- [机器学习](https://www.infoq.com/machinelearning/ "Machine Learning")
- [NoSQL](https://www.infoq.com/nosql/ "NoSQL")
- [数据库](https://www.infoq.com/database/ "Database")
- [数据分析](https://www.infoq.com/data-analytics/ "Data Analytics")
- [流处理](https://www.infoq.com/streaming/ "Streaming")
人工智能、机器学习与数据工程相关文章
- #### 从零构建多智能体系统的经验教训
保罗·阿鲁达讨论了Shopify在AI采用方面的演变,从简单的聊天工具发展到一个复杂的由专业智能体组成的蜂群。他解释了从庞大的“一站式”提示向专注于特定任务的智能体微服务过渡的过程,这些微服务可以将任务完成时间从数小时缩短到几分钟。他还分享了一个关于使用基于文件系统的适配器来解决上下文膨胀问题的未来假设。

[文化与方法](https://www.infoq.com/culture-methods/ "Culture & Methods")
- [敏捷开发](https://www.infoq.com/agile/ "Agile")
- [多样性](https://www.infoq.com/diversity/ "Diversity")
- [领导力](https://www.infoq.com/leadership/ "Leadership")
- [精益/看板](https://www.infoq.com/lean/ "Lean/Kanban")
- [个人成长](https://www.infoq.com/personal-growth/ "Personal Growth")
- [Scrum](https://www.infoq.com/scrum/ "Scrum")
- [社治](https://www.infoq.com/sociocracy/ "Sociocracy")
- [软件工艺](https://www.infoq.com/software_craftsmanship/ "Software Craftmanship")
- [团队协作](https://www.infoq.com/team-collaboration/ "Team Collaboration")
- [测试](https://www.infoq.com/testing/ "Testing")
- [用户体验](https://www.infoq.com/ux/ "UX")
文化与方法相关文章
奈飞公司的卡莎·特拉斯佐讨论了从编写代码转变为扩展组织规模的过程。她分享了通过技术清晰度建立信任、使团队聚焦于解决正确问题以及利用有意图的文档扩展判断力的经验教训。了解如何超越个人产出,创建持久的技术架构遗产,以赋能他人做出更好的决策。

- [基础设施](https://www.infoq.com/infrastructure/ "Infrastructure")
- [持续交付](https://www.infoq.com/continuous_delivery/ "Continuous Delivery")
- [自动化](https://www.infoq.com/automation/ "Automation")
- [容器](https://www.infoq.com/containers/ "Containers")
- [云计算](https://www.infoq.com/cloud-computing/ "Cloud")
- [可观测性](https://www.infoq.com/observability/ "Observability")
DevOps相关文章
分布式系统中的回退队列是一个算术问题,而不是谜题。本文提供了实用的公式来计算回退队列的消减时间、确定消费者的工作空间大小以及设置自动扩展触发器。它涵盖了关键故障模式——重试放大、亚稳态以及级联管道瓶颈,并探讨了何时卸载负载而非消减队列。

所有关于devops的文章关注主题
[InfoQ活动](https://events.infoq.com/ "Events")
有用链接
- [关于InfoQ](https://www.infoq.com/about-infoq "About InfoQ")
- [InfoQ编辑](https://www.infoq.com/infoq-editors "InfoQ Editors")
- [为InfoQ撰稿](https://www.infoq.com/write-for-infoq "Write for InfoQ")
- [关于C4Media](https://c4media.com/ "About C4Media")
- [多样性](https://c4media.com/diversity "Diversity")
选择语言
在线 InfoQ 架构认证 随着你变得越来越资深,越来越少有人会测试你的决策。这个为期五周的学习小组可以为你提供这种检查。立即注册。
在线 InfoQ AI 工程师认证 一个面向资深工程师的实用在线学习小组,专注于检索、代理、评估以及 AI 基础设施的决策。立即注册。
QCon AI波士顿 学习如何让领先的工程团队可靠、安全且大规模地运行AI。立即注册。
QCon旧金山 了解AI和软件领域的最新进展,从已经在实践中的团队那里学习。立即注册。
[InfoQ主页](https://www.infoq.com/ "InfoQ主页")[新闻](https://www.infoq.com/news "新闻")JEP 533 为 JDK 27 的 Java 结构化并发中的异常处理加固
[Java](https://www.infoq.com/java/ "Java")
更快地交付,更频繁地失败:在AI时代重新思考交付系统(网络研讨会5月28日)
JEP 533 为 JDK 27 的 Java 结构化并发加固异常处理
2026年5月13日 3分钟阅读
作者:
-  A N M Bazlur Rahman
关注 Java 专家与软件工程师
#### 为 InfoQ 写作
满足你的求知欲。帮助每月超过55万名全球
资深开发人员
保持领先。联系我们
点击收听本文
加载音频
您的浏览器不支持音频元素。
0:00 0:00
正常 1.25倍速 1.5倍速
更改点在于 join() 方法抛出的新异常类型。在最近的预览版本中,Joiner.allSuccessfulOrThrow()、anySuccessfulOrThrow() 和 awaitAllSuccessfulOrThrow() 在子任务失败时抛出了特定于预览的 FailedException。在预览 7 中,这些 joiner 现在抛出 ExecutionException,这是长期以来在 Future.get() 中用于表示子任务失败的同一个包装器。getCause() 保留了原因,因此熟悉的捕获然后切换模式可以直接使用:
try (var scope = StructuredTaskScope.open()) {
Subtask<String> user = scope.fork(() -> findUser(userId));
Subtask<List<Order>> o = scope.fork(() -> fetchOrders(userId));
scope.join();
return new Response(user.get(), o.get());
} catch (ExecutionException e) {
switch (e.getCause()) {
case IOException ioe -> handleIo(ioe);
case TimeoutException te -> handleTimeout(te);
default -> throw e;
}
}这一变化减少了经典并发代码与结构化范围之间的概念差距。已经在早期预览版本中捕获 FailedException 的团队,在迁移到 JDK 27 时需要更新这些捕获语句以捕获 ExecutionException。
第二个变化是结构上的调整。StructuredTaskScope 和 Joiner 接口现在携带第三个类型参数 `R_X`,表示 join() 可能抛出的异常类型。之前的签名是 `Joiner<T, R>`;现在变为 `Joiner<T, R, R_X>`。R_X 的命名遵循了 JEP 在文档中区分异常类型与结果及 Joiner 返回类型的一贯做法;编译器会像对待其他类型参数一样处理它。对于通过 `open()` 使用提供的 Joiner 的应用程序代码,编译器会自动推断所有内容,因此源代码看起来没有改变。对于编写自定义 Joiner 的库作者来说,异常声明成为类型的一部分,而不是实现中单独声明的内容。这使得签名更加诚实,并为调用者提供了对 `join()`` 方法的精确检查异常合同。
第三个变化增加了新的 `open` 重载,将默认的 join 策略——零参数 `open()`` 行为,即等待所有子任务成功或任何一个失败——与一个配置操作结合在一起,接受作用于范围的 `Configuration` 的 `UnaryOperator`:
try (var scope = StructuredTaskScope.open(
cfg -> cfg.withTimeout(Duration.ofSeconds(2)).withName("checkout"))) {
scope.fork(() -> fetchCart(userId));
scope.fork(() -> fetchProfile(userId));
scope.join();
}到目前为止,应用超时、名称或自定义线程工厂到默认的快速失败策略上需要同时传递一个 `Joiner` 和操作符。新工厂消除了这一繁琐过程。重载接受 `UnaryOperator<Configuration>`,类似于预览版 6 引入的更严格的类型。
结构上的保证没有改变:子任务继承 `ScopedValue` 绑定(JEP 506),JSON 线程转储格式继续暴露范围层次结构供工具使用,当范围在 try-with-resources 之外或从非拥有线程分叉时,仍然会触发 `StructureViolationException`。
预览版 7 并不是一次重新设计。预览版 5 设定的 API 形状保持不变,本轮的变化仅限于人机交互和类型,而非结构。对于跟踪 API 的团队来说,每次预览的范围逐渐缩小是一个合理的指标,表明设计正在趋于稳定。结构化并发已经经历了两个孵化器阶段和多个预览版本。API 看起来正在趋于稳定,尽管 JEP 533 没有承诺最终完成的时间表。
开发人员可以在 JDK 27 的早期访问构建中通过启用预览功能来尝试此提案,方法是在命令行中添加 `--enable-preview`。在最终确定之前,继续通过 OpenJDK 邮件列表反馈以塑造 API。
关于作者

#### A N M Bazlur Rahman
A N M Bazlur Rahman 是一位 Java 贤士,也是 Hammerspace 公司的高级软件工程师,专注于 Java 和现代相关技术。除了日常的工程工作外,Bazlur 还积极参与全球 Java 社区,担任导师、作者、演讲者和开源贡献者。他创立并目前主持着 Java 用户组孟加拉国分会(JUGBD),自 2013 年以来一直在组织聚会和会议,推广 Java 知识。Bazlur 还是 InfoQ 和 Foojay.io 的特约编辑,后者是全球最受尊敬的 Java 专业人士平台之一。他是多本用孟加拉语撰写的 Java 编程书籍的作者,包括畅销书《Java 编程》,帮助成千上万的开发者用他们的母语学习该语言。他的最新英语著作《现代 Java 中的并发》(O’Reilly Media)探讨了 Java 的并发模型如何随着虚拟线程和结构化并发的发展而演变。
更多 | 更少
#### 此内容属于 Java 主题
关注主题
##### 相关主题:
关注主题
* #### Java 热门内容
- Java 新闻速递:GraalVM、Spring AI、JobRunr、GlassFish、Grails、Groovy、Quarkus 代理 MCP
- Java 新闻速递:OpenJDK JEPs、GlassFish、Spring AI、JReleaser、A2A Java SDK、Google ADK、Gradle
- 现代移动应用安全中的实时威胁监控与分析案例
- JobRunr 引入 ClawRunr,一个开源的 Java AI 代理
- Roq:利用 Quarkus 构建速度媲美 Go 的静态站点
* #### 相关赞助商
- #### MCP:AI集成的协议
- #### 未雨绸缪:基于AI的Azure事件响应
- #### 相关赞助商
/filters:no_upscale()/sponsorship/topic/de0ef578-a1e4-40a7-9867-d3a689aa05bc/RSB_LOGO_logo-icsaet-nonsquare-1775809093930.png)在线InfoQ认证架构师计划
与资深同行一起解决真实的架构挑战,在线学习5周。立即预订您的座位.
相关内容
2026年5月11日
2026年5月4日
2026年5月1日
2026年4月28日
2026年4月27日
2026年4月20日
2026年4月27日 /articles/mcp-java-architectural-strategy-llm-integrations/en/smallimage/mcp-java-architectural-strategy-llm-integrations-thumbnail-1776772947180.jpg)
2026年4月21日 /articles/redesign-pdf-table-extraction/en/smallimage/redesign-pdf-table-extraction-thumbnail-1776414059821.jpg)
- Icon#### Java中的数据框:数据框的力量
2026年2月9日 /presentations/data-frames-java/en/smallimage/vladimir-zakharov-thumbnail-1769523745049.jpg)
相关赞助商
加入卢卡·梅扎利,在线参与为期5周的高级社会技术架构领导力课程。探索团队结构、沟通和决策如何在实际工程组织中塑造架构结果。
- 赞助商
/filters:no_upscale()/sponsorship/topic/de0ef578-a1e4-40a7-9867-d3a689aa05bc/RSB_LOGO_logo-icsaet-nonsquare-1775809093930.png)
相关内容
- Icon#### 实战中的Java并发:野外经验教训
2026年1月12日 /presentations/java-grpc-workload/en/smallimage/hugo-thumbnail-1767945193023.jpg)
- #### InfoQ Java趋势报告2025
Dec 11, 2025 
Apr 27, 2026
Apr 13, 2026 
Apr 02, 2026 
Feb 10, 2026 
**InfoQ** 通讯
每周内容汇总,每周二发送。加入超过 250,000 名资深开发者的社区。查看示例
输入您的电子邮件地址
选择国家 - [√] 我同意 InfoQ.com 处理我的数据,详情请参阅此隐私声明。
- ##### [Cangjie:一种具有原生效果处理器和代数数据类型的新型开源编译语言](https://www.infoq.com/news/2026/05/cangjie-effect-handlers-adt/ "Cangjie:一种具有原生效果处理器和代数数据类型的新型开源编译语言")
- ##### [攻击者在 Flippa 上购买了 30 个 WordPress 插件并植入了后门](https://www.infoq.com/news/2026/05/wordpress-plugins-supply-chain/ "攻击者在 Flippa 上购买了 30 个 WordPress 插件并植入了后门")
- ##### [Cloudflare 推出 Flagship:基于 OpenFeature 的边缘原生功能标志服务](https://www.infoq.com/news/2026/05/cloudflare-flagship-openfeature/ "Cloudflare 推出 Flagship:基于 OpenFeature 的边缘原生功能标志服务")
- ##### [Airbnb 实施面向上下文的身份模型以支持隐私优先的社会功能](https://www.infoq.com/news/2026/05/airbnb-privacy-identity-model/ "Airbnb 实施面向上下文的身份模型以支持隐私优先的社会功能")
- ##### [Netflix 使用 Apache Druid 的区间感知缓存实现 84% 查询结果的缓存命中率](https://www.infoq.com/news/2026/05/netflix-druid-interval-cache/ "Netflix 使用 Apache Druid 的区间感知缓存实现 84% 查询结果的缓存命中率")
- ##### [GitHub 如何在现代 CI/CD 系统中确保代理工作流的安全性](https://www.infoq.com/news/2026/05/github-agentic-workflows/ "GitHub 如何在现代 CI/CD 系统中确保代理工作流的安全性")
- ##### [超越编码:资深工程师如何扩大影响力和产生影响](https://www.infoq.com/presentations/lessons-building-engineering-team/ "超越编码:资深工程师如何扩大影响力和产生影响")
- ##### [从零开始构建多智能体系统的经验教训](https://www.infoq.com/presentations/multi-agent-system-lessons/ "从零开始构建多智能体系统的经验教训")
- ##### [软件设计的最佳简单系统:现在应用的选择](https://www.infoq.com/news/2026/05/best-simple-system-design/ "软件设计的最佳简单系统:现在应用的选择")
- ##### [Anthropic 在 AWS 上推出 Claude 平台](https://www.infoq.com/news/2026/05/anthropic-claude-aws/ "Anthropic 在 AWS 上推出 Claude 平台")
- ##### [从头开始构建多智能体系统的经验教训](https://www.infoq.com/presentations/multi-agent-system-lessons/ "从头开始构建多智能体系统的经验教训")
- ##### [时间序列存储:设计选择如何影响成本和性能](https://www.infoq.com/articles/time-series-storage-design/ "时间序列存储:设计选择如何影响成本和性能")
- ##### [回溯的数学:排队恢复的容量规划](https://www.infoq.com/articles/capacity-planning-queue-recovery/ "回溯的数学:排队恢复的容量规划")
- ##### [Grafana 的 Pyroscope 2.0 使大规模持续性能分析成为可能](https://www.infoq.com/news/2026/05/pyroscope-2-profiling/ "Grafana 的 Pyroscope 2.0 使大规模持续性能分析成为可能")
- ##### [GitHub 扩展了秘密扫描功能,MCP 服务器集成现已全面可用](https://www.infoq.com/news/2026/05/github-mcp-secret-scanning/ "GitHub 扩展了秘密扫描功能,MCP 服务器集成现已全面可用")
**InfoQ** 通讯
每周二发送的信息量情报汇总,包含上周InfoQ上的内容。加入超过250,000名资深开发者的社区。查看示例
- 获取各种创新技术和早期采用技术的快速概览
- 了解你不知道的未知知识
- 与感兴趣的领域保持最新信息
请输入您的电子邮件地址
选择国家 - [√] 我同意InfoQ.com按照此隐私声明处理我的数据。
#### 在线InfoQ认证项目
- 专注于架构的高级工程师和架构师团体认证 * 日期:2026年6月1日-2日 *
- 专注于AI工程的在线InfoQ架构认证 * 日期:2026年6月10日 *
- 专注于AI工程的在线InfoQ AI工程认证 * 日期:2026年7月25日 *
- QCon旧金山会议 * 日期:2026年11月16日至20日 *
#### 关注我们
#### 保持更新
- 信息量播客
- 工程文化播客
- 软件架构师通讯
一般反馈 [feedback@infoq.com](mailto:feedback@infoq.com) 广告 [sales@infoq.com](mailto:sales@infoq.com) 编辑 [editors@infoq.com](mailto:editors@infoq.com) 营销 [marketing@infoq.com](mailto:marketing@infoq.com)
InfoQ.com 和所有内容版权 © 2006-2026 C4Media Inc.