W3C home > Mailing lists > Public > www-dom@w3.org > January to March 2011

Re: [DOM3Events] Exceptions

From: Ojan Vafai <ojan@chromium.org>
Date: Wed, 9 Mar 2011 19:21:52 +1100
Message-ID: <AANLkTi=D1ht8KTifG4AOY+hH3iM_MYvDz_=LyNqiVHe3@mail.gmail.com>
To: Anne van Kesteren <annevk@opera.com>
Cc: www-dom@w3.org
This change sounds good to me. I generally support simplifying and
consolidating the exceptions thrown. I'm strongly suspect we could change
the exceptions thrown in most cases without a hit to web compatibility.

On Sat, Mar 5, 2011 at 1:52 AM, Anne van Kesteren <annevk@opera.com> wrote:

> I removed EventException from DOM Core and I think that change makes sense.
> We use DOMException for most of our APIs. Only dispatchEvent() throws
> exceptions of this type and it seems like unneeded complexity to me.
>
> DOM Level 3 Events says dispatchEvent() can throw these exceptions:
> EventException.UNSPECIFIED_EVENT_TYPE_ERR,
> EventException.DISPATCH_REQUEST_ERR, DOMException.NOT_SUPPORTED_ERR, and
> DOMException.INVALID_CHARACTER_ERR.
>
> I have not been able to get implementations to throw any of the latter two
> exceptions. Examples would be most welcome.


WebKit does throw NOT_SUPPORTED_ERR in a number of cases (see
http://codesearch.google.com/codesearch?as_q=NOT_SUPPORTED_ERR&vert=chromium&as_lang=c%2B%2B&as_filename=WebKit).
I haven't looked at most of these to see if they are actually valid uses of
this exception or if the code can even be hit. It took some hunting but I
finally got it to fire in one case to fire in a real page,
http://plexode.com/eval3/#jt=document.createTreeWalker().


> In fact the text for INVALID_CHARACTER_ERR seems to overlap with
> UNSPECIFIED_EVENT_TYPE_ERR as they are both talking about restrictions on
> Event.type. However, what the restrictions on Event.type are is not at all
> clear. Event.type only says that no events should be created that contain
> whitespace. It does not say anything about the empty string, or whether
> initializing events with whitespace in their type will throw an error or not
> (either then or later).
>
> I do not think we need UNSPECIFIED_EVENT_TYPE_ERR at all really. Why should
> we require invoking initEvent()?
>

Indeed.


> And DISPATCH_REQUEST_ERR could easily be replaced by INVALID_STATE_ERR. We
> use it that way in tons of APIs.
>
>
> --
> Anne van Kesteren
> http://annevankesteren.nl/
>
>
Received on Wednesday, 9 March 2011 08:22:43 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 22 June 2012 06:14:07 GMT