Java : DOMException (XML) 示例

Java 中的 DOMException (Java SE 23 & JDK 23) 及其示例。
您将找到大多数 DOMException 方法的代码示例。

注解 :

  • 本文可能使用了翻译软件以方便阅读。 另请查看英文原文

简介

DOM 操作仅在“异常”情况下才会引发异常,即当操作无法执行时(由于逻辑原因、数据丢失或实现变得不稳定)。通常,DOM 方法在普通处理情况下会返回特定的错误值,例如使用 NodeList 时发生越界错误。 (机器翻译)

Class diagram

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

请参阅下面的链接。


相关文章

To top of page