[Bug 16333] New: Exceptions

https://www.w3.org/Bugs/Public/show_bug.cgi?id=16333

           Summary: Exceptions
           Product: WebAppsWG
           Version: unspecified
          Platform: PC
               URL: http://lists.w3.org/Archives/Public/www-dom/2011JanMar
                    /0065.html
        OS/Version: Windows NT
            Status: NEW
          Keywords: LC
          Severity: normal
          Priority: P2
         Component: DOM3 Events
        AssignedTo: travil@microsoft.com
        ReportedBy: travil@microsoft.com
         QAContact: public-webapps-bugzilla@w3.org
                CC: mike@w3.org, annevk@opera.com, www-dom@w3.org


PORTING from TRACKER, ISSUE-186
[see http://lists.w3.org/Archives/Public/www-dom/2011JanMar/0065.html]

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. 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()?

And DISPATCH_REQUEST_ERR could easily be replaced by INVALID_STATE_ERR. We  
use it that way in tons of APIs.

------------------

From: Ojan Vafai <ojan@chromium.org> 
Date: Wed, 9 Mar 2011 19:21:52 +1100

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.

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

Received on Monday, 12 March 2012 20:51:52 UTC