Commit 5d1b5eaf authored by Fred Drake's avatar Fred Drake

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.
parent 64acf1db
...@@ -38,6 +38,7 @@ class Node: ...@@ -38,6 +38,7 @@ class Node:
DOCUMENT_FRAGMENT_NODE = 11 DOCUMENT_FRAGMENT_NODE = 11
NOTATION_NODE = 12 NOTATION_NODE = 12
#ExceptionCode #ExceptionCode
INDEX_SIZE_ERR = 1 INDEX_SIZE_ERR = 1
DOMSTRING_SIZE_ERR = 2 DOMSTRING_SIZE_ERR = 2
...@@ -55,11 +56,17 @@ INVALID_MODIFICATION_ERR = 13 ...@@ -55,11 +56,17 @@ INVALID_MODIFICATION_ERR = 13
NAMESPACE_ERR = 14 NAMESPACE_ERR = 14
INVALID_ACCESS_ERR = 15 INVALID_ACCESS_ERR = 15
class DOMException(Exception): class DOMException(Exception):
"""Abstract base class for DOM exceptions. """Abstract base class for DOM exceptions.
Exceptions with specific codes are specializations of this class.""" 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): class IndexSizeErr(DOMException):
code = INDEX_SIZE_ERR code = INDEX_SIZE_ERR
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment