Java : DOMException (XML) 示例
Java 中的 DOMException (Java SE 23 & JDK 23) 及其示例。
您将找到大多数 DOMException 方法的代码示例。
注解 :
- 本文可能使用了翻译软件以方便阅读。 另请查看英文原文。
简介
DOM 操作仅在“异常”情况下才会引发异常,即当操作无法执行时(由于逻辑原因、数据丢失或实现变得不稳定)。通常,DOM 方法在普通处理情况下会返回特定的错误值,例如使用 NodeList 时发生越界错误。 (机器翻译)
final var builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
final var document = builder.newDocument();
final var root = document.createElement("root");
document.appendChild(root);
try {
root.appendChild(root);
} catch (DOMException e) {
System.out.println(e);
}
// Result
// ↓
//org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR:
// An attempt was made to insert a node where it is not permitted.
Fields
short code
(机器翻译)
final var e = new DOMException(DOMException.INVALID_STATE_ERR, "abc");
System.out.println(e); // org.w3c.dom.DOMException: abc
System.out.println(e.code); // 11
static final short DOMSTRING_SIZE_ERR
如果指定的文本范围不适合 DOMString。 (机器翻译)
System.out.println(DOMException.DOMSTRING_SIZE_ERR); // 2
static final short HIERARCHY_REQUEST_ERR
如果任何节点被插入到它不属于的地方。 (机器翻译)
System.out.println(DOMException.HIERARCHY_REQUEST_ERR); // 3
static final short INDEX_SIZE_ERR
如果索引或大小为负数,或者大于允许的值。 (机器翻译)
System.out.println(DOMException.INDEX_SIZE_ERR); // 1
static final short INUSE_ATTRIBUTE_ERR
如果尝试添加已在其他地方使用的属性。 (机器翻译)
System.out.println(DOMException.INUSE_ATTRIBUTE_ERR); // 10
static final short INVALID_ACCESS_ERR
如果底层对象不支持某个参数或操作。 (机器翻译)
System.out.println(DOMException.INVALID_ACCESS_ERR); // 15
static final short INVALID_CHARACTER_ERR
如果指定了无效或非法字符,例如在 XML 名称中。 (机器翻译)
System.out.println(DOMException.INVALID_CHARACTER_ERR); // 5
static final short INVALID_MODIFICATION_ERR
如果尝试修改底层对象的类型。 (机器翻译)
System.out.println(DOMException.INVALID_MODIFICATION_ERR); // 13
static final short INVALID_STATE_ERR
如果尝试使用不可用或不再可用的对象。 (机器翻译)
System.out.println(DOMException.INVALID_STATE_ERR); // 11
static final short NAMESPACE_ERR
如果尝试以不符合命名空间的方式创建或更改对象。 (机器翻译)
System.out.println(DOMException.NAMESPACE_ERR); // 14
static final short NO_DATA_ALLOWED_ERR
如果为不支持数据的节点指定了数据。 (机器翻译)
System.out.println(DOMException.NO_DATA_ALLOWED_ERR); // 6
static final short NO_MODIFICATION_ALLOWED_ERR
如果尝试修改不允许修改的对象。 (机器翻译)
System.out.println(DOMException.NO_MODIFICATION_ALLOWED_ERR); // 7
static final short NOT_FOUND_ERR
如果尝试在不存在的上下文中引用节点。 (机器翻译)
System.out.println(DOMException.NOT_FOUND_ERR); // 8
static final short NOT_SUPPORTED_ERR
如果实现不支持所请求的对象或操作类型。 (机器翻译)
System.out.println(DOMException.NOT_SUPPORTED_ERR); // 9
static final short SYNTAX_ERR
如果指定了无效或非法的字符串。 (机器翻译)
System.out.println(DOMException.SYNTAX_ERR); // 12
static final short TYPE_MISMATCH_ERR
如果对象的类型与该对象关联的参数的预期类型不兼容。 (机器翻译)
System.out.println(DOMException.TYPE_MISMATCH_ERR); // 17
static final short VALIDATION_ERR
如果对 insertBefore 或 removeChild 等方法的调用导致 Node 因“部分有效性”而无效,则会引发此异常并且操作不会执行。 (机器翻译)
System.out.println(DOMException.VALIDATION_ERR); // 16
static final short WRONG_DOCUMENT_ERR
如果节点在与创建它的文档不同的文档中使用(则不支持)。 (机器翻译)
System.out.println(DOMException.WRONG_DOCUMENT_ERR); // 4
Constructors
DOMException (short code, String message)
(机器翻译)
final var e = new DOMException(DOMException.INVALID_STATE_ERR, "abc");
System.out.println(e); // org.w3c.dom.DOMException: abc
System.out.println(e.code); // 11
Methods declared in Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
请参阅下面的链接。