From 5d1b5eaf55b5245d9a368811ab32cea6b080a1f9 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Wed, 13 Dec 2000 16:35:53 +0000 Subject: [PATCH] Add code to DOMException to ensure it cannot be instantiated directly, since the API documentation will state specifically that the specializations must be used by the DOM implementations. --- Lib/xml/dom/__init__.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Lib/xml/dom/__init__.py b/Lib/xml/dom/__init__.py index abef3983a6f..b1211f4a233 100644 --- a/Lib/xml/dom/__init__.py +++ b/Lib/xml/dom/__init__.py @@ -38,6 +38,7 @@ class Node: DOCUMENT_FRAGMENT_NODE = 11 NOTATION_NODE = 12 + #ExceptionCode INDEX_SIZE_ERR = 1 DOMSTRING_SIZE_ERR = 2 @@ -55,11 +56,17 @@ INVALID_MODIFICATION_ERR = 13 NAMESPACE_ERR = 14 INVALID_ACCESS_ERR = 15 + class DOMException(Exception): """Abstract base class for DOM exceptions. Exceptions with specific codes are specializations of this class.""" - pass + def __init__(self, *args, **kw): + if self.__class__ is DOMException: + raise RuntimeError( + "DOMException should not be instaniated directly") + apply(Exception.__init__, args, kw) + class IndexSizeErr(DOMException): code = INDEX_SIZE_ERR