OpenJDK JAXB 实现中奇怪的 NullPointerException 捕获

2024-01-11

我在 OpenJDK JAXB 中发现了一些奇怪的代码:

com.sun.xml.internal.bind.v2.model.impl.ModelBuilder

    try {
        XmlSchema s = null;
        s.location();
    } catch (NullPointerException e) {
        // as expected
    } catch (NoSuchMethodError e) {
        ...
    }

有人可以解释一下他们为什么这样做吗?或者这只是需要修复的错误代码。


他们使用此代码作为测试来确定哪个版本JAXB (JSR-222) http://jcp.org/en/jsr/detail?id=222正在使用 API。这location参数被添加到@XmlSchema在 JAXB 2.1 中,如果NoSuchMethodError正在使用 JAXB 2.0 API 时抛出。

参见第 158-177 行

  • http://grepcode.com/file/repo1.maven.org/maven2/org.jvnet.jaxb.reflection/jaxb2-reflection/2.1.4/org/jvnet/jaxb/reflection/model/impl/ModelBuilder.java http://grepcode.com/file/repo1.maven.org/maven2/org.jvnet.jaxb.reflection/jaxb2-reflection/2.1.4/org/jvnet/jaxb/reflection/model/impl/ModelBuilder.java

Javadoc - @XmlSchema.location

  • http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/XmlSchema.html#location() http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/XmlSchema.html#location%28%29
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenJDK JAXB 实现中奇怪的 NullPointerException 捕获 的相关文章

随机推荐

  • 添加两个文本框中的值并在第三个文本框中显示总和

    我尝试将此代码从 textbox1 text 和 textbox2 text 添加到 textbox3 text private void textBox1 TextChanged object sender EventArgs e if
  • 3D 数组声明时出现错误

    可能是我第一次使用 3D 数组 我只是尝试遵循 1D 和 2D 语法来声明 3D 但编译器说类型不匹配 谁能告诉我这背后的原因吗 Integer 1D new Integer 2 4 6 5 6 Integer 2D new Integer
  • 维护跨多个表的实体的审核日志

    我们有一个实体分为 5 个不同的表 其中 3 个表中的记录是强制性的 其他两个表中的记录是可选的 基于实体的子类型 其中一张表被指定为实体主表 其他四个表中的记录由 master 中的唯一 id 作为键控 在每个表上都存在更新 删除触发器之
  • 获取不属于另一个表中某个类别的供应商

    我正在寻找一个查询 需要显示供应商表中没有类别 1 Products CategoryID 1 的产品的所有供应商 每当我运行它时 它总是会出错 Select SupplierID From Suppliers su where Suppl
  • 即使 paranoid 设置为 true,Sequelize.js 仍然会删除表行

    我无法让 Sequelize js 软删除表中的行 我使用 Sequelize cli 来完成所有迁移 并且没有使用同步功能在启动时重新同步数据库 我的迁移和模型中有时间戳字段 甚至有deletedAt字段 模型也有偏执 true 无论如何
  • 如何解决 Visual Studio 2008 中的 JQuery 智能感知问题?

    我怎样才能解决这个问题 更新JScript IntelliSense时出错 D myProject js jquery 1 3 2 js 对象不支持此属性或方法 2139 1 我做了所有这一切jQuery 1 2 6 的 Visual St
  • GWT 获取 CellTable 内容以进行打印或导出

    我有一个 GWTCellTable使用某种复杂而乏味的过程来填充 我希望用户能够打印或导出该表中的数据 我宁愿不重新渲染表内容以进行导出 因为这是一个繁琐的过程 如何从我的所有页面中获取所有行的内容CellTable这样我就可以整理一份文件
  • Feemarker 将图像写入 html

    有没有办法在 freemarker 中写入图像而不是给出链接 img src
  • 将字符串数组转换为整数数组

    我有一个字符串数组 例如 2 10 11 并想知道将其转换为整数数组的最有效方法是什么 我应该循环遍历所有元素并将其转换为整数还是有一个函数可以执行此操作 Use map https developer mozilla org en US
  • Visual studio mac 编译错误

    我正在开发 Visual Studio for Mac 预览版 我的项目来自 git 存储库 当我尝试编译它时 编译器给出了以下错误 错误 构建目标 IncludeRoslynCompilerFilesToItemGroup 时出错 项目已
  • 如何将 Struct 包装到 NSObject 中

    这应该是微不足道的 我想 但我找不到一种方法如何将 Struct 变量包装成NSObject 有没有办法这样做 如果没有 我将如何将结构添加到NSMutableArray Thanks 嗯 尝试看看NSValue at https deve
  • 溢出:隐藏在移动浏览器上不起作用

    我使用溢出 隐藏来隐藏我的网页中的unglam div 它在所有网络浏览器中运行良好 但在移动浏览器中不起作用 有人可以帮忙吗 body margin auto display block overflow x hidden overflo
  • 如何使用 fmt 在 Go 中打印常量 uint64?

    I tried fmt Printf d math MaxUint64 但我收到以下错误消息 常量 18446744073709551615 溢出 int 我怎样才能解决这个问题 谢谢 math MaxUint64是一个常量 而不是 int
  • Kotlin:游程编码

    该程序可以运行 但是 我仍然遇到逻辑错误 最后一个字母没有运行完毕 例如 当我输入 aaaabbbbccccdddd 时 我得到的输出是 a4b4c4 但没有 d4 fun main val strUser readLine toLower
  • C# 正则表达式匹配任何字符?

    在 C 中 我将以下字符串写入字符串变量 回车符等 asdfasdfasdf asdfas
  • 从 Google Apps 脚本访问 Twitter API

    我正在尝试在 Google 表中阅读我的 Twitter 时间线 我已经复制了报告中的以下代码气体文件 https github com googlesamples apps script oauth1关于 twitter 身份验证 省略步
  • Java 11 上的 JFileChooser ,翻译成法语的问题

    I make a migration to Java 11 and I have a problem in translation with JFileChooser panel I have a partial translation I
  • 如何在 Javascript 函数之间传递变量?

    这是最简单形式的两个函数 我正在使用jquery 将 var str 从第一个函数传递到第二个函数的最佳方法是什么 function a var str first function b var new str second 使用函数参数
  • 当没有语法错误时,此代码中的 if 情况不起作用

    if s name kolkata printf the details if strcmp s name kolkata 0 printf the details 第一个 if 情况没有语法错误 但仍然不起作用 而第二个 if 情况却工作
  • OpenJDK JAXB 实现中奇怪的 NullPointerException 捕获

    我在 OpenJDK JAXB 中发现了一些奇怪的代码 com sun xml internal bind v2 model impl ModelBuilder try XmlSchema s null s location catch N